diff --git a/docs/sidebars.js b/docs/sidebars.js new file mode 100644 index 00000000000..b65035ba968 --- /dev/null +++ b/docs/sidebars.js @@ -0,0 +1,494 @@ +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ + +// @ts-check + +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + docsSidebar: [ + { + type: "html", + value: '', + }, + + // ABOUT AZTEC + + { + type: "html", + className: "sidebar-title", + value: "About Aztec", + defaultStyle: true, + }, + + { + label: "What is Aztec?", + type: "category", + link: { type: "doc", id: "intro" }, + items: ["about_aztec/history/history", "about_aztec/overview"], + }, + + "about_aztec/vision", + + { + label: "Roadmap", + type: "category", + link: { + type: "doc", + id: "about_aztec/roadmap/main", + }, + items: [ + "about_aztec/roadmap/features_initial_ldt", + "about_aztec/roadmap/cryptography_roadmap", + ], + }, + + "about_aztec/how_to_contribute", + + { + type: "html", + value: '', + }, + + // SPECIFICATION + + { + type: "html", + className: "sidebar-title", + value: "Specification", + defaultStyle: true, + }, + + { + label: "Foundational Concepts", + type: "category", + link: { + type: "doc", + id: "concepts/foundation/main", + }, + items: [ + { + label: "State Model", + type: "category", + link: { + type: "doc", + id: "concepts/foundation/state_model/main", + }, + items: ["concepts/foundation/state_model/storage_slots"], + }, + { + label: "Accounts", + type: "category", + link: { type: "doc", id: "concepts/foundation/accounts/main" }, + items: [ + "concepts/foundation/accounts/keys", + "concepts/foundation/accounts/authwit", + ], + }, + "concepts/foundation/contracts", + "concepts/foundation/transactions", + // "concepts/foundation/globals", + { + label: "Communication", + type: "category", + link: { + type: "doc", + id: "concepts/foundation/communication/main", + }, + items: [ + { + label: "Public <> Private Communication", + type: "category", + link: { + type: "doc", + id: "concepts/foundation/communication/public_private_calls/main", + }, + items: [ + "concepts/foundation/communication/public_private_calls/slow_updates_tree", + ], + }, + "concepts/foundation/communication/cross_chain_calls", + ], + }, + { + label: "Nodes and Clients", + type: "category", + // link: { + // type: "doc", + // id: "concepts/foundation/nodes_clients/main", + // }, + items: [ + // "concepts/foundation/nodes_clients/execution_client", + // "concepts/foundation/nodes_clients/prover_client", + "concepts/foundation/nodes_clients/sequencer", + ], + }, + // "concepts/foundation/block_production", + // "concepts/foundation/upgrade_mechanism", + ], + }, + + { + label: "Advanced Concepts", + type: "category", + link: { + type: "doc", + id: "concepts/advanced/main", + }, + items: [ + { + label: "Data Structures", + type: "category", + link: { + type: "doc", + id: "concepts/advanced/data_structures/main", + }, + items: [ + "concepts/advanced/data_structures/trees", + "concepts/advanced/data_structures/indexed_merkle_tree", + ], + }, + { + label: "Circuits", + type: "category", + link: { + type: "doc", + id: "concepts/advanced/circuits/main", + }, + items: [ + { + label: "Kernels", + type: "category", + link: { + type: "doc", + id: "concepts/advanced/circuits/kernels/main", + }, + items: [ + "concepts/advanced/circuits/kernels/private_kernel", + "concepts/advanced/circuits/kernels/public_kernel", + ], + }, + { + label: "Rollup Circuits", + type: "category", + link: { + type: "doc", + id: "concepts/advanced/circuits/rollup_circuits/main", + }, + items: [], + }, + ], + }, + "concepts/advanced/public_vm", + "concepts/advanced/contract_creation", + "concepts/advanced/sequencer_selection", + "concepts/advanced/acir_simulator", + ], + }, + + { + type: "html", + value: '', + }, + + // DEVELOPER DOCUMENTATION + + { + type: "html", + className: "sidebar-title", + value: "Developer Documentation", + defaultStyle: true, + }, + + { + label: "Getting Started", + type: "category", + link: { + type: "doc", + id: "dev_docs/getting_started/main", + }, + items: [ + "dev_docs/getting_started/quickstart", + "dev_docs/getting_started/core-concepts", + "dev_docs/getting_started/aztecjs-getting-started", + "dev_docs/getting_started/aztecnr-getting-started", + ], + }, + + { + label: "Tutorials", + type: "category", + link: { + type: "doc", + id: "dev_docs/tutorials/main", + }, + items: [ + "dev_docs/tutorials/writing_token_contract", + "dev_docs/tutorials/writing_private_voting_contract", + + { + label: "Writing a DApp", + type: "category", + link: { + type: "doc", + id: "dev_docs/tutorials/writing_dapp/main", + }, + items: [ + "dev_docs/tutorials/writing_dapp/project_setup", + "dev_docs/tutorials/writing_dapp/pxe_service", + "dev_docs/tutorials/writing_dapp/contract_deployment", + "dev_docs/tutorials/writing_dapp/contract_interaction", + "dev_docs/tutorials/writing_dapp/testing", + ], + }, + { + label: "Build a Token Bridge", + type: "category", + link: { + type: "doc", + id: "dev_docs/tutorials/token_portal/main", + }, + items: [ + "dev_docs/tutorials/token_portal/setup", + "dev_docs/tutorials/token_portal/depositing_to_aztec", + "dev_docs/tutorials/token_portal/minting_on_aztec", + "dev_docs/tutorials/token_portal/cancelling_deposits", + "dev_docs/tutorials/token_portal/withdrawing_to_l1", + "dev_docs/tutorials/token_portal/typescript_glue_code", + ], + }, + { + label: "Swap on L1 Uniswap from L2 with Portals", + type: "category", + link: { + type: "doc", + id: "dev_docs/tutorials/uniswap/main", + }, + items: [ + "dev_docs/tutorials/uniswap/setup", + "dev_docs/tutorials/uniswap/l1_portal", + "dev_docs/tutorials/uniswap/l2_contract_setup", + "dev_docs/tutorials/uniswap/swap_publicly", + "dev_docs/tutorials/uniswap/execute_public_swap_on_l1", + "dev_docs/tutorials/uniswap/swap_privately", + "dev_docs/tutorials/uniswap/execute_private_swap_on_l1", + "dev_docs/tutorials/uniswap/redeeming_swapped_assets_on_l2", + "dev_docs/tutorials/uniswap/typescript_glue_code", + ], + }, + "dev_docs/tutorials/testing", + ], + }, + + { + label: "Aztec Sandbox and CLI", + type: "category", + link: { + type: "doc", + id: "dev_docs/cli/main", + }, + items: ["dev_docs/cli/cli-commands", "dev_docs/cli/sandbox-reference"], + }, + { + label: "Aztec.nr Contracts", + type: "category", + link: { + type: "doc", + id: "dev_docs/contracts/main", + }, + items: [ + "dev_docs/contracts/workflow", + "dev_docs/contracts/setup", + "dev_docs/contracts/layout", + { + label: "Syntax", + type: "category", + link: { + type: "doc", + id: "dev_docs/contracts/syntax/main", + }, + items: [ + { + label: "Storage", + type: "category", + link: { + type: "doc", + id: "dev_docs/contracts/syntax/storage/main", + }, + items: ["dev_docs/contracts/syntax/storage/storage_slots"], + }, + "dev_docs/contracts/syntax/events", + "dev_docs/contracts/syntax/functions", + "dev_docs/contracts/syntax/slow_updates_tree", + "dev_docs/contracts/syntax/context", + "dev_docs/contracts/syntax/globals", + ], + }, + "dev_docs/contracts/compiling", + "dev_docs/contracts/deploying", + "dev_docs/contracts/artifacts", + { + label: "Portals", + type: "category", + link: { + type: "doc", + id: "dev_docs/contracts/portals/main", + }, + items: [ + "dev_docs/contracts/portals/data_structures", + "dev_docs/contracts/portals/registry", + "dev_docs/contracts/portals/inbox", + "dev_docs/contracts/portals/outbox", + ], + }, + { + label: "Resources", + type: "category", + items: [ + "dev_docs/contracts/resources/dependencies", + //"dev_docs/contracts/resources/style_guide", + { + label: "Common Patterns", + type: "category", + link: { + type: "doc", + id: "dev_docs/contracts/resources/common_patterns/main", + }, + items: [ + "dev_docs/contracts/resources/common_patterns/authwit", + // "dev_docs/contracts/resources/common_patterns/sending_tokens_to_user", + // "dev_docs/contracts/resources/common_patterns/sending_tokens_to_contract", + // "dev_docs/contracts/resources/common_patterns/access_control", + // "dev_docs/contracts/resources/common_patterns/interacting_with_l1", + ], + }, + ], + }, + // { + // label: "Security Considerations", + // type: "category", + // items: [ + // { + // label: "Breaking changes", + // type: "category", + // link: { + // type: "doc", + // id: "dev_docs/contracts/security/breaking_changes/main", + // }, + // items: ["dev_docs/contracts/security/breaking_changes/v0"], + // }, + // ], + // }, + ], + }, + + { + label: "Aztec.js", + type: "doc", + id: "dev_docs/aztecjs/main", + }, + { + label: "Debugging", + type: "category", + link: { + type: "doc", + id: "dev_docs/debugging/main", + }, + items: [ + "dev_docs/debugging/aztecnr-errors", + "dev_docs/debugging/sandbox-errors", + ], + }, + { + label: "Updating", + type: "doc", + id: "dev_docs/updating", + }, + + { + label: "Testing", + type: "category", + link: { + type: "doc", + id: "dev_docs/testing/main", + }, + items: ["dev_docs/testing/cheat_codes"], + }, + + { + label: "Wallets", + type: "category", + link: { + type: "doc", + id: "dev_docs/wallets/main", + }, + items: [ + "dev_docs/wallets/architecture", + "dev_docs/wallets/writing_an_account_contract", + "dev_docs/wallets/creating_schnorr_accounts", + ], + }, + + /* { + label: "Security Considerations", + type: "category", + items: [], + },*/ + "dev_docs/privacy/main", + "dev_docs/limitations/main", + + { + label: "API Reference", + type: "category", + items: [ + { + label: "Private Execution Environment (PXE)", + type: "doc", + id: "apis/pxe/interfaces/PXE", + }, + { + label: "Aztec.js", + type: "category", + items: [{ dirName: "apis/aztec-js", type: "autogenerated" }], + }, + { + label: "Accounts", + type: "category", + items: [{ dirName: "apis/accounts", type: "autogenerated" }], + }, + ], + }, + + { + type: "html", + value: '', + }, + + // MISCELLANEOUS + + { + type: "html", + className: "sidebar-title", + value: "Miscellaneous", + defaultStyle: true, + }, + "misc/migration_notes", + "misc/glossary", + + { + type: "html", + value: '', + }, + + "misc/aztec_connect_sunset", + ], +}; + +module.exports = sidebars;