diff --git a/docs/07-development-guidelines/01-installing-the-cardano-node.mdx b/docs/07-development-guidelines/01-installing-the-cardano-node.mdx index a27ed2bf..6c5a23fb 100644 --- a/docs/07-development-guidelines/01-installing-the-cardano-node.mdx +++ b/docs/07-development-guidelines/01-installing-the-cardano-node.mdx @@ -6,25 +6,24 @@ metaTitle: Installing the Cardano node ## Downloading pre-compiled executables You can install the Cardano node and the CLI using -[pre-compiled executable files](https://github.com/input-output-hk/cardano-node#executables) +[pre-compiled executable files](https://github.com/intersectmbo/cardano-node/releases/latest) for your platform. +## Using Docker + +You can also use a [Docker](https://www.docker.com/) image to run your Cardano node in a container. For more details, see [this explainer](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/Docker.md). + ## Building from source Alternatively, if you want to build from source, there are two options available to you. Depending on your build tool preference, you can build from the source code using either of the following: -- [Cabal: building the node](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/install.md) -- [Nix: building the node](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/building-the-node-using-nix.md) +- [Assisted with Nix](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/building-the-node-using-nix.md) (recommended) +- [Manually with Cabal](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/install.md) -Please refer to the [cardano-node releases page](https://github.com/input-output-hk/cardano-node/releases/latest) to ensure you are working with the latest version of the node. - -Once you have installed the node, you need to -[specify the configuration parameters](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/understanding-config-files.md). - -## Using Docker +Please refer to the [cardano-node releases page](https://github.com/intersectmbo/cardano-node/releases/latest) to ensure you are working with the latest version of the node. -You can also use a Docker image to build your Cardano node. For more details, see [this explainer](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/Docker.md). +Once you have installed the node, you need to [configure it](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/understanding-config-files.md). diff --git a/docs/07-development-guidelines/02-cardano-node-course.mdx b/docs/07-development-guidelines/02-cardano-node-course.mdx index 895efb8e..74ec7bbf 100644 --- a/docs/07-development-guidelines/02-cardano-node-course.mdx +++ b/docs/07-development-guidelines/02-cardano-node-course.mdx @@ -3,36 +3,39 @@ title: The Cardano node video course metaTitle: The Cardano node video course --- +The IOG Academy provides this course on YouTube. -The IOG Academy provides this course on YouTube. +

+ Instructor: Carlos Lopez de Lara, product owner at [Input Output](https://iohk.io/). +

-| Video | Summary | -| -------- | --------- | -| [Cardano node course](https://www.youtube.com/playlist?list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR) | Instructor: Carlos Lopez de Lara, product owner, Cardano node. | -| [Building the node with Cabal](https://www.youtube.com/watch?v=csqvbw3F_BU&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=1) | Video 1. Step-by-step demonstration of the whole installation, with prerequisites. | -| [Building the node with Nix](https://www.youtube.com/watch?v=iREukg3-JSM&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=2&pp=iAQB) | Video 2. Another full demonstration, this time using Nix. | -| [Running the node](https://www.youtube.com/watch?v=YlUljmlCPYs&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=3&pp=iAQB) | Video 3. Running the node and connecting to a network. | -| [Generating keys and addresses](https://www.youtube.com/watch?v=8ZYuiRxPAZc&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=4&pp=iAQB) | Video 4. A detailed explanation of generating the different types of keys and addresses used in Cardano. | -| [Simple transactions with the build-raw command](https://www.youtube.com/watch?v=rbst_uiGpI4&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=5&pp=iAQB) | Video 5. Carlos describes the two commands used to build a transaction, and demonstrates the hard way; using the `build-raw` command. | -| [Simple transaction with the build command](https://www.youtube.com/watch?v=AVz_zsDd6wE&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=6&pp=iAQB) | Video 6. A demonstration of the power and convenience of using the `build` command. | -| [Register stake address and delegate to a stake pool](https://www.youtube.com/watch?v=m0BmjjNt19w&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=7&pp=iAQB) | Video 7. Carlos explains certificates and demonstrates the process of delegating ada to the stake pool using the Cardano command line interface. | -| [Protocol parameters 1/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=8&pp=iAQB) | Video 8. Parameters, one of four. These videos explain what the protocol parameters are, and how they influence the behavior of Cardano. | -| [Protocol parameters 2/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=9&pp=iAQB) | Video 9. Parameters, two of four. | -| [Protocol parameters 3/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=10&pp=iAQB) | Video 10. Parameters, three of four. | -| [Protocol parameters 4/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=11&pp=iAQB) | Video 11. Parameters, four of four. | -| [Peer-to-peer (P2P) networking](https://www.youtube.com/watch?v=7YyCJ3fDN0I&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=12&pp=iAQB) | Video 12. P2P networking; a detailed explanation of Dynamic P2P networking and its advantages. | -| [P2P networking; topology and configuration](https://www.youtube.com/watch?v=hOFVL6gjFrw&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=13&pp=iAQB) | Video 13. P2P networking; how to configure the topology and configuration files for the different types of nodes. | -| [Creating a stake pool. The setup](https://www.youtube.com/watch?v=6AQaPdmxnfo&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=14&pp=iAQB) | Video 14. Creating a stake pool; recommended hardware layout and software configuration. | -| [Creating a stake pool. Generating stake pool keys](https://www.youtube.com/watch?v=xydi4_pqOdo&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=15&pp=iAQB) | Video 15. Creating a stake pool; a detailed demonstration and explanation of generating the required keys and other artifacts. | -| [Creating a stake pool. Registering the stake pool](https://www.youtube.com/watch?v=9UK_EFG-nkA&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=16&pp=iAQB) | Video 16. Creating a stake pool; using the artifacts created earlier to complete the registration. | -| [Creating a stake pool. RTS, topology, and systemd](https://www.youtube.com/watch?v=1CaMmsgFPnw&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=17&pp=iAQB) | Video 17. Creating a stake pool; the Haskell runtime options, and how to extend and override them. Details of the topology files and the startup scripts. Using systemd to restart your node as required. | -| [Stake snapshots](https://www.youtube.com/watch?v=t5BOFmy6IYg&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=18&pp=iAQB) | Video 18. How to request test funds from the faucet. Details of stake distribution snapshots. | -| [Stake pool operations. Useful commands 1/2](https://www.youtube.com/watch?v=NCdsk75-7NA&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=19&pp=iAQB) | Video 19. Stake pool operations; useful commands for managing your stake pool; video one of two. | -| [Stake pool operations. Useful commands 2/2](https://www.youtube.com/watch?v=NCdsk75-7NA&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=20&pp=iAQB) | Video 20. Stake pool operations; useful commands two of two. | -| [Monitoring with Prometheus](https://www.youtube.com/watch?v=iqAmwhk7djE&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=21&pp=iAQB) | Video 22. Stake pool operations; how to install and configure Prometheus to monitor your Cardano node. | -| [Cardano governance](https://www.youtube.com/watch?v=biUHK1UDkAY&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=22&pp=iAQB) | Video 23. Carlos discusses the history and mechanism of implementing Cardano updates. -| [Creating a local cluster](https://www.youtube.com/watch?v=2oAonlDUcNY&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=23&pp=iAQB) | Video 24. Creating a local cluster; using the `create-cardano` command. | -| [Local cluster from Byron to Shelley](https://www.youtube.com/watch?v=8Sp2ljOrXXw&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=24&pp=iAQB) | Video 25. Creating a local cluster; moving from genesis to Byron to Shelley. | -| [Creating a stake pool on the local cluster](https://www.youtube.com/watch?v=0svni-Dy4zM&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=25&pp=iAQB) | Video 26. Creating a local cluster; providing funds, keys, and configuration files for a new stake pool. | -| [Bringing the d parameter down](https://www.youtube.com/watch?v=LNUzmhdGPbY&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=26&pp=iAQB) | Video 27. Creating a local cluster; submitting a proposal to bring the decentralization parameter (d) down from 1 to 0.80. | -| [From Shelley to Alonzo](https://www.youtube.com/watch?v=mFyutul_5mU&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=27&pp=iAQB) | Video 28. Creating a local cluster; moving our local cluster from the Shelley era to Alonzo. | +| Video | Summary | +| -------- | --------- | +| [Cardano node course](https://www.youtube.com/playlist?list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR) | Introduction to the course. | +| [Building the node with Cabal](https://www.youtube.com/watch?v=csqvbw3F_BU&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=1) | Step-by-step demonstration of the whole installation, with prerequisites. | +| [Building the node with Nix](https://www.youtube.com/watch?v=iREukg3-JSM&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=2&pp=iAQB) | Another full demonstration, this time using Nix. | +| [Running the node](https://www.youtube.com/watch?v=YlUljmlCPYs&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=3&pp=iAQB) | Running the node and connecting to a network. | +| [Generating keys and addresses](https://www.youtube.com/watch?v=8ZYuiRxPAZc&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=4&pp=iAQB) | A detailed explanation of generating the different types of keys and addresses used in Cardano. | +| [Simple transactions with the build-raw command](https://www.youtube.com/watch?v=rbst_uiGpI4&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=5&pp=iAQB) | Carlos describes the two commands used to build a transaction, and demonstrates the hard way; using the `build-raw` command. | +| [Simple transaction with the build command](https://www.youtube.com/watch?v=AVz_zsDd6wE&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=6&pp=iAQB) | A demonstration of the power and convenience of using the `build` command. | +| [Register stake address and delegate to a stake pool](https://www.youtube.com/watch?v=m0BmjjNt19w&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=7&pp=iAQB) | Carlos explains certificates and demonstrates the process of delegating ada to the stake pool using the Cardano command line interface. | +| [Protocol parameters 1/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=8&pp=iAQB) | Parameters, one of four. These videos explain what the protocol parameters are, and how they influence the behavior of Cardano. | +| [Protocol parameters 2/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=9&pp=iAQB) | Parameters, two of four. | +| [Protocol parameters 3/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=10&pp=iAQB) | Parameters, three of four. | +| [Protocol parameters 4/4](https://www.youtube.com/watch?v=Czwc4U3B5k8&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=11&pp=iAQB) | Parameters, four of four. | +| [Peer-to-peer (P2P) networking](https://www.youtube.com/watch?v=7YyCJ3fDN0I&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=12&pp=iAQB) | P2P networking; a detailed explanation of Dynamic P2P networking and its advantages. | +| [P2P networking; topology and configuration](https://www.youtube.com/watch?v=hOFVL6gjFrw&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=13&pp=iAQB) | P2P networking; how to configure the topology and configuration files for the different types of nodes. | +| [Creating a stake pool. The setup](https://www.youtube.com/watch?v=6AQaPdmxnfo&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=14&pp=iAQB) | Creating a stake pool; recommended hardware layout and software configuration. | +| [Creating a stake pool. Generating stake pool keys](https://www.youtube.com/watch?v=xydi4_pqOdo&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=15&pp=iAQB) | Creating a stake pool; a detailed demonstration and explanation of generating the required keys and other artifacts. | +| [Creating a stake pool. Registering the stake pool](https://www.youtube.com/watch?v=9UK_EFG-nkA&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=16&pp=iAQB) | Creating a stake pool; using the artifacts created earlier to complete the registration. | +| [Creating a stake pool. RTS, topology, and systemd](https://www.youtube.com/watch?v=1CaMmsgFPnw&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=17&pp=iAQB) | Creating a stake pool; the Haskell runtime options, and how to extend and override them. Details of the topology files and the startup scripts. Using systemd to restart your node as required. | +| [Stake snapshots](https://www.youtube.com/watch?v=t5BOFmy6IYg&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=18&pp=iAQB) | How to request test funds from the faucet. Details of stake distribution snapshots. | +| [Stake pool operations. Useful commands 1/2](https://www.youtube.com/watch?v=NCdsk75-7NA&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=19&pp=iAQB) | Stake pool operations; useful commands for managing your stake pool; video one of two. | +| [Stake pool operations. Useful commands 2/2](https://www.youtube.com/watch?v=NCdsk75-7NA&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=20&pp=iAQB) | Stake pool operations; useful commands two of two. | +| [Monitoring with Prometheus](https://www.youtube.com/watch?v=iqAmwhk7djE&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=21&pp=iAQB) | Stake pool operations; how to install and configure Prometheus to monitor your Cardano node. | +| [Cardano governance](https://www.youtube.com/watch?v=biUHK1UDkAY&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=22&pp=iAQB) | Carlos discusses the history and mechanism of implementing Cardano updates. +| [Creating a local cluster](https://www.youtube.com/watch?v=2oAonlDUcNY&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=23&pp=iAQB) | Creating a local cluster; using the `create-cardano` command. | +| [Local cluster from Byron to Shelley](https://www.youtube.com/watch?v=8Sp2ljOrXXw&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=24&pp=iAQB) | Creating a local cluster; moving from genesis to Byron to Shelley. | +| [Creating a stake pool on the local cluster](https://www.youtube.com/watch?v=0svni-Dy4zM&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=25&pp=iAQB) | Creating a local cluster; providing funds, keys, and configuration files for a new stake pool. | +| [Bringing the d parameter down](https://www.youtube.com/watch?v=LNUzmhdGPbY&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=26&pp=iAQB) | Creating a local cluster; submitting a proposal to bring the decentralization parameter (d) down from 1 to 0.80. | +| [From Shelley to Alonzo](https://www.youtube.com/watch?v=mFyutul_5mU&list=PLNEK_Ejlx3x2ut-Pq-hi0NFVsgKB3EddR&index=27&pp=iAQB) | Creating a local cluster; moving our local cluster from the Shelley era to Alonzo. | diff --git a/docs/07-development-guidelines/03-node-tests.mdx b/docs/07-development-guidelines/03-node-tests.mdx deleted file mode 100644 index 836400c2..00000000 --- a/docs/07-development-guidelines/03-node-tests.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Cardano node tests -metaTitle: Cardano node tests ---- - -*Cardano node tests* are CLI-based system and end-to-end tests for the Cardano node. - -Node tests are open source for Cardano node users running the CLI, SPOs, third-party tool developers, and others to test Cardano functionality from the end-user perspective. - -## References - -You can access [**Cardano node tests documentation here**](https://tests.cardano.intersectmbo.org/). - -Documentation includes such sections as: - -- [Getting started](https://tests.cardano.intersectmbo.org/readme.html). Explains the process of setup, usage, test variables, and more. -- [Test results](https://tests.cardano.intersectmbo.org/test_results.html). Includes details about Nightly tests, sync tests, and node tag testing. -- [Process](https://tests.cardano.intersectmbo.org/process.html). Covers the types and levels of tests, quality control strategy, and user acceptance test strategy with more processes to be added soon. -- [How-to guides](https://tests.cardano.intersectmbo.org/how-tos.html). Guides on starting a local cluster, testing MIR certificate submission, stake credentials, and SMASH usage. - -**Contributing to the Cardano node tests repository** - -Community contributions are highly appreciated. For more details and tips, [see these contribution guidelines](https://tests.cardano.intersectmbo.org/contribute/contributing.html). diff --git a/docs/07-development-guidelines/04-node-monitoring.mdx b/docs/08-operating-a-stake-pool/05-node-monitoring.mdx similarity index 100% rename from docs/07-development-guidelines/04-node-monitoring.mdx rename to docs/08-operating-a-stake-pool/05-node-monitoring.mdx diff --git a/docs/08-operating-a-stake-pool/05-creating-keys-and-certificates.mdx b/docs/08-operating-a-stake-pool/06-creating-keys-and-certificates.mdx similarity index 100% rename from docs/08-operating-a-stake-pool/05-creating-keys-and-certificates.mdx rename to docs/08-operating-a-stake-pool/06-creating-keys-and-certificates.mdx diff --git a/docs/08-operating-a-stake-pool/07-SMASH.mdx b/docs/08-operating-a-stake-pool/07-SMASH.mdx deleted file mode 100644 index 1c29a3f4..00000000 --- a/docs/08-operating-a-stake-pool/07-SMASH.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: SMASH metadata management -metaTitle: SMASH metadata management ---- - -SMASH is a metadata aggregation server that manages metadata for stake pools. -The functionality provided by SMASH supports stake pool operations and the -delegation ecosystem with its standardized framework for listing valid stake -pools with verified metadata. - -Each stake pool that participates in the network includes metadata that helps -users to make a rational delegation choice. This metadata contains owner -details, pool name, pool ticker, homepage, and a short description. It is -crucial to ensure that registered stake pools are valid, that they do not -duplicate ticker names or trademarks, and do not feature content that users are -likely to find offensive. SMASH was designed to improve visibility on verified -stake pool information for Cardano users, as well as to enable convenient -navigation options. - -A SMASH server can aggregate stake pool metadata, fetch it, and store it in a -semi-centralized environment. The server is typically owned by a specific -operator, who is then responsible for its maintenance, and can curate and review -stake pool metadata. Importantly, it makes it possible to resolve disputes over -offending or duplicated stake pool ticker names and delist operators if they are -proven to be bad actors. - -The SMASH server code is open source and anyone can deploy it and become an -operator. In the due course, Daedalus will allow users to configure any server -of their choice and browse custom stake pool lists. - -> If you want to install and run the SMASH server, you can use [these instructions](https://github.com/input-output-hk/smash/blob/master/doc/getting-started/how-to-install-smash.md). - -### How does the IOHK SMASH server work? - -The first generation of SMASH is initially deployed by IOHK and is used in the -Daedalus delegation center, where it provides the ability to view available -stake pools with verified names, ticker symbols, and websites. - -Below is a step-by-step description of actions that can be taken when you -identify a pool with a duplicated ticker name or offensive content. Please note -that this applies to the SMASH server that is run and maintained by IOHK. - -**Stake pool delisting reasons** - -First, please ensure that there is a reason for a stake pool to be delisted. -There are certain reasons that influence the decision for a stake pool to be -delisted. These include: - -- **illegal or malicious content**: a stake pool that features any illegal, - abusive, or malicious content as part of the stake pool metadata (for example - via the link to the SPO’s homepage). -- **impersonation**: stake pools that attempt to impersonate other individuals, - groups, or organizations in a manner that misleads, confuses, or deceives - others. For example, a successful stake pool called POOL being obviously - impersonated by another called P00L (by linking to the same website). -- **previous ‘claim’**: ticker names can be registered by SPOs on a ‘first - come - first served’ basis, however, a ticker name which was registered on the - Incentivized Testnet (ITN), may only be registered on the Cardano mainnet by - the same SPO that registered such a ticker on the ITN. Ticker names that were - registered on the ITN but were not re-registered on the Cardano mainnet by - 19th June 2020 will be released and available for registration on the Cardano - mainnet. -- **an inappropriate ticker name**: a ticker name that is obscene, sexually - explicit, offensive, hurtful, profane, or otherwise inappropriate. This is a - subjective judgment in some cases, so best efforts will always be made. -- **intellectual property rights (IPR) violations**: SPOs that violate the - intellectual property rights of others including copyright and trademarks, - where proof can be supplied. -- **inactive or retired pools**: stake pools that are retired or have not - produced blocks in a long time, or whose SPO cannot be contacted. Retired - pools on the mainnet have a limit of six months within which to make a request - for their ticker name to be reregistered. - -**How to request a delisting** - -1. When you identify a stake pool that you believe should be delisted, you can - send an official request for delisting to smash@iohk.io. Please include your - rationale and any proof of why this stake pool should be delisted. In - particular, state one of the above reasons and provide a detailed - explanation. Stake pools impersonating trademarks should be reported by the - trademark holder or their authorized representative. -2. After your request, you will receive an email that acknowledges that your - request is taken into consideration. -3. A SMASH operator will review the request to ensure that the reasoning and - proofs are accurate and will make a decision whether or not to delist the - stake pool. It may also be determined that further arbitration or community - consultation may be required. However, the ultimate decision will always be - reserved by the entity operating the SMASH server in question. -4. When a decision is made, you will receive an email outlining whether the - stake pool will be delisted or whether the ticker listing will be allowed to - remain. In either case, we shall always provide an explanation or - justification for the choice. Please note that in some cases, a stake pool - can be delisted proactively - whether temporarily or permanently. With - delisting applied, the stake pool will not be visible on SMASH and its - operator will need to make a case if they want the decision reversed. -5. If a stake pool operator believes that delisting of their stake pool has - happened by mistake, they can submit an appeal by emailing to smash@iohk.io. - -IOHK’s SMASH operator is constantly reviewing all requests from the Cardano -community and SPOs to ensure that all the stake pool information is tracked and -managed accurately. A request is usually processed in 7 working days. - -It is important to note that delisting refers _only_ to the display of metadata -and listing with SMASH. As a decentralized network, at no point, will stake pool -operations themselves be affected. For more information or any clarifications, -you can email smash@iohk.io. diff --git a/docs/08-operating-a-stake-pool/06-public-stake-pools.mdx b/docs/08-operating-a-stake-pool/07-public-stake-pools.mdx similarity index 100% rename from docs/08-operating-a-stake-pool/06-public-stake-pools.mdx rename to docs/08-operating-a-stake-pool/07-public-stake-pools.mdx diff --git a/docs/08-operating-a-stake-pool/08-SMASH.mdx b/docs/08-operating-a-stake-pool/08-SMASH.mdx new file mode 100644 index 00000000..789f7e6f --- /dev/null +++ b/docs/08-operating-a-stake-pool/08-SMASH.mdx @@ -0,0 +1,18 @@ +--- +title: Pool metadata management +metaTitle: Pool metadata management +--- + +Stake pools are registered on-chain, and their on-chain data (such as information required to calculate rewards) is critical to the operation of the ledger. Stake pools also possess metadata that helps users make a rational choice of a stake pool to delegate to. This metadata is stored off-chain as it might reflect sensitive content, and such an approach allows for a degree of decentralized censorship. + +On the other hand, off-chain metadata storage prerequisites a challenge of open access by different users. On-chain stake pool registrations contain a URL pointer to the off-chain metadata and a content hash that can be fetched from a specific stake pool. This might cause both performance and privacy issues. Another crucial aspect to address is the stake pool’s 'ticker' name, which is the short name a stake pool is recognized by. Ticker names might reflect prominent brands or trademarks which should not be duplicated as this leads to confusion. Stake pool operators (SPOs) running multiple pools might want to use the same metadata for all their pools and then, this might also lead to these pools appearing with the same ticker name. + +## Use cases + +A stake pool metadata aggregation server (SMASH) is introduced to address metadata performance and privacy issues. Delegators, SPOs, exchanges, or wallets can deploy and use SMASH to ensure a higher level of metadata accountability and maintenance. SMASH aggregates metadata from existing stake pools and provides an efficient way to fetch it and store it in a semi-centralized environment. SMASH operators (exchanges, wallets, SPOs) are then enabled to validate and manage this metadata curating it for censorship via the delisting feature. + +## Run your own + +The first generation of the SMASH server has been deployed by Input Output Global (IOG). It aggregated stake pool metadata and offered a list of valid stake pools with reviewed content and ticker names. Nowadays, various solutions exist to synchronize data from the chain and a SMASH server is provided out-of-the-box as part of the cardano-db-sync project. + +For running your own, see [these Cardano DB Sync instructions](https://github.com/IntersectMBO/cardano-db-sync/blob/master/doc/smash.md#smash-characteristics). diff --git a/docs/08-operating-a-stake-pool/08-performance.mdx b/docs/08-operating-a-stake-pool/09-performance.mdx similarity index 100% rename from docs/08-operating-a-stake-pool/08-performance.mdx rename to docs/08-operating-a-stake-pool/09-performance.mdx diff --git a/docs/08-operating-a-stake-pool/09-ranking.mdx b/docs/08-operating-a-stake-pool/10-ranking.mdx similarity index 100% rename from docs/08-operating-a-stake-pool/09-ranking.mdx rename to docs/08-operating-a-stake-pool/10-ranking.mdx diff --git a/docs/08-operating-a-stake-pool/10-guidelines-for-large-spos.mdx b/docs/08-operating-a-stake-pool/11-guidelines-for-large-spos.mdx similarity index 100% rename from docs/08-operating-a-stake-pool/10-guidelines-for-large-spos.mdx rename to docs/08-operating-a-stake-pool/11-guidelines-for-large-spos.mdx diff --git a/package.json b/package.json index 9dd79870..5758f3f9 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,6 @@ "path-browserify": "^1.0.1", "posthog-js": "^1.76.0", "prism-react-renderer": "^2.3.0", - "puppeteer": "^5.3.1", "react": "^18.0.0", "react-dom": "^18.0.0", "react-google-recaptcha": "^3.1.0", diff --git a/yarn.lock b/yarn.lock index 0259f718..47343321 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1547,7 +1547,7 @@ "@docusaurus/theme-search-algolia" "3.1.1" "@docusaurus/types" "3.1.1" -"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": +"@docusaurus/react-loadable@5.5.2": version "5.5.2" resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce" integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== @@ -3096,13 +3096,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - "@ungap/structured-clone@^1.0.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -3272,11 +3265,6 @@ address@^1.0.1, address@^1.1.2: resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== -agent-base@5: - version "5.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" - integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -3615,15 +3603,6 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" @@ -3784,11 +3763,6 @@ browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^ node-releases "^2.0.14" update-browserslist-db "^1.0.13" -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -3804,14 +3778,6 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@^5.2.1, buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" @@ -4039,11 +4005,6 @@ chokidar@^3.4.2, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -4872,11 +4833,6 @@ devlop@^1.0.0, devlop@^1.1.0: dependencies: dequal "^2.0.0" -devtools-protocol@0.0.818844: - version "0.0.818844" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.818844.tgz#d1947278ec85b53e4c8ca598f607a28fa785ba9e" - integrity sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg== - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -5093,13 +5049,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - enhanced-resolve@^5.15.0: version "5.15.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" @@ -5361,17 +5310,6 @@ extend@^3.0.0: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extract-zip@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - 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" @@ -5421,13 +5359,6 @@ faye-websocket@^0.11.3: dependencies: websocket-driver ">=0.5.1" -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - feed@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" @@ -5498,14 +5429,6 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.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" @@ -5583,11 +5506,6 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-extra@^11.1.1: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" @@ -5648,13 +5566,6 @@ get-own-enumerable-property-symbols@^3.0.0: 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-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.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" @@ -6280,14 +6191,6 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== -https-proxy-agent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" - integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== - dependencies: - agent-base "5" - debug "4" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -6310,7 +6213,7 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ieee754@^1.1.13, ieee754@^1.2.1: +ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -6992,13 +6895,6 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -7922,11 +7818,6 @@ minimist@^1.2.0, minimist@~1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - moment@^2.30.1: version "2.30.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" @@ -8001,13 +7892,6 @@ node-emoji@^2.1.0: emojilib "^2.4.0" skin-tone "^2.0.0" -node-fetch@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - node-forge@^1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -8142,7 +8026,7 @@ on-headers@~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, once@^1.3.1, once@^1.4.0: +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== @@ -8180,7 +8064,7 @@ p-cancelable@^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, p-limit@^2.2.0: +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== @@ -8208,13 +8092,6 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" @@ -8450,11 +8327,6 @@ pbkdf2@^3.0.3, pbkdf2@^3.1.2: safe-buffer "^5.0.1" sha.js "^2.4.8" -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - periscopic@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" @@ -8474,13 +8346,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - pkg-dir@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" @@ -8849,11 +8714,6 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prompts@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -8896,11 +8756,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-from-env@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -8913,14 +8768,6 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -8938,24 +8785,6 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" -puppeteer@^5.3.1: - version "5.5.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.5.0.tgz#331a7edd212ca06b4a556156435f58cbae08af00" - integrity sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg== - dependencies: - debug "^4.1.0" - devtools-protocol "0.0.818844" - extract-zip "^2.0.0" - https-proxy-agent "^4.0.0" - node-fetch "^2.6.1" - pkg-dir "^4.2.0" - progress "^2.0.1" - proxy-from-env "^1.0.0" - rimraf "^3.0.2" - tar-fs "^2.0.0" - unbzip2-stream "^1.3.3" - ws "^7.2.3" - qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -9170,6 +8999,14 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" +"react-loadable@npm:@docusaurus/react-loadable@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce" + integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== + dependencies: + "@types/react" "*" + prop-types "^15.6.2" + react-markdown@^4.2.2: version "4.3.1" resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.3.1.tgz#39f0633b94a027445b86c9811142d05381300f2f" @@ -9257,7 +9094,7 @@ readable-stream@^2.0.1, readable-stream@^2.0.2: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: +readable-stream@^3.0.6, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -10292,27 +10129,6 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: version "5.3.10" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" @@ -10396,11 +10212,6 @@ totalist@^3.0.0: resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" @@ -10471,14 +10282,6 @@ typescript@~5.2.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== -unbzip2-stream@^1.3.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" - integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== - dependencies: - buffer "^5.2.1" - through "^2.3.8" - undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" @@ -11224,11 +11027,6 @@ web-namespaces@^2.0.0: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - webpack-bundle-analyzer@^4.9.0: version "4.10.1" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" @@ -11363,14 +11161,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - which-typed-array@^1.1.14, which-typed-array@^1.1.2: version "1.1.14" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" @@ -11432,7 +11222,7 @@ write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.2.3, ws@^7.3.1: +ws@^7.3.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== @@ -11486,14 +11276,6 @@ yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"