diff --git a/docs/content/developer/developer.mdx b/docs/content/developer/developer.mdx index 93c9740fa32..9fe0a348d29 100644 --- a/docs/content/developer/developer.mdx +++ b/docs/content/developer/developer.mdx @@ -20,7 +20,7 @@ The [Network Overview](network-overview.mdx) page gives an overview of the diffe The IOTA 101 section introduces the basics of IOTA that help you create smart contracts. These topics assume you are familiar with Move and the IOTA blockchain. -Go to [IOTA 101](iota-101.mdx). +Go to [IOTA 101](iota-101/iota-101.mdx). ## Standards @@ -28,7 +28,7 @@ Utilizing standards while developing applications is very important for composab Go to the [Standards](/developer/standards). -## IOTA compared to EVM +## IOTA Compared to EVM If you are familiar with EVM/Solidity and want to work with IOTA and Move this section is for you. These topics describe the differences between a traditional EVM chain and way of working compared to IOTA Move based smart contracts. Together with some common implementation examples the nuances between the different ways of working are explained. @@ -40,6 +40,10 @@ The Cryptography section demonstrates how to secure your smart contracts with cr Go to [Cryptography](cryptography.mdx). +## Capture the Flag + +Get aquainted with IOTA by solving challenges of increasing complexity in the [Capture the Flag section](iota-move-ctf/introduction.mdx). + ## Advanced Topics The Advanced Topics section includes guides for advanced solutions (like asset tokenization). These topics assume you are familiar with Move and the IOTA blockchain. diff --git a/docs/content/developer/getting-started/getting-started.mdx b/docs/content/developer/getting-started/getting-started.mdx index f7eef5dbd7c..76a0fa944ef 100644 --- a/docs/content/developer/getting-started/getting-started.mdx +++ b/docs/content/developer/getting-started/getting-started.mdx @@ -27,11 +27,12 @@ Go to [Query IOTA RPC with GraphQL](graphql-rpc.mdx). If you are already familiar with the basics, you can try the following sections: - [Create a Move Package](create-a-package.mdx): Learn by writing, building, and publishing a simple dApp. -- [IOTA 101](../iota-101.mdx): Get an overview of +- [IOTA 101](../iota-101/iota-101.mdx): Get an overview of the [Move concepts](../iota-101/move-overview/move-overview.mdx) you'll use as a foundation to build [create coins, tokens](../iota-101/create-coin/create-coin.mdx) and [NFTs](../iota-101/nft/create-nft.mdx) using the Move's [Object Model](../iota-101/objects/object-model.mdx). - [From Solidity/EVM to Move](../evm-to-move/evm-to-move.mdx): If you're an experienced Solidity developer, check out the key differences between developing on Move. +- Learn Move with the [IOTA Capture the Flag](../iota-move-ctf/introduction.mdx) challenges. - [Cryptography](../cryptography.mdx): Leverage multiple cryptographic algorithms to create secure and flexible smart contracts applications. \ No newline at end of file diff --git a/docs/content/developer/guides.mdx b/docs/content/developer/guides.mdx deleted file mode 100644 index e4b9f24759c..00000000000 --- a/docs/content/developer/guides.mdx +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Guides Overview -sidebar_label: Overview ---- - -Often, the best way to learn a new technology is through experience. The content in this section contains concrete examples to guide your development on the IOTA network. Whether you're a web3 novice or a seasoned IOTA pro, the guides in this section help you get the most out of your IOTA development experience. - -## Guides by role - -Instructions for common tasks, based on your role in the IOTA ecosystem. - - -Guides for developers of all levels. - - -Guides for validators and node operators. - - - -## Get started developing on IOTA - -You must crawl before you can run. Start your IOTA journey here. - - -Learn about IOTA tools and the recommended development environment. - - -Install IOTA on your Windows, MacOS, or Linux system. - - -With IOTA installed, you're ready to start developing. - - - -## IOTA 101 for developers - -Learn the basics of IOTA and how they might differ from other blockchains. - - -Transactions on IOTA are more powerful than other blockchains. Learn why and how to use them. - - - - -Monitor the IOTA network and programmatically react to on-chain events. - - - -## Validating and operating nodes on IOTA - -Processes and guides for validators and node operators on the IOTA network. - - - - -Learn how to operate a Full node on IOTA. - - -Optimize your Full node configuration for efficient node operation. - - diff --git a/docs/content/developer/iota-101.mdx b/docs/content/developer/iota-101/iota-101.mdx similarity index 83% rename from docs/content/developer/iota-101.mdx rename to docs/content/developer/iota-101/iota-101.mdx index 00ae371b7da..faa3df86502 100644 --- a/docs/content/developer/iota-101.mdx +++ b/docs/content/developer/iota-101/iota-101.mdx @@ -9,29 +9,29 @@ In many education systems, 101-level classes are those that teach core competenc Everything on the IOTA blockchain is an object. These topics use code examples to demonstrate how to create these specific types of objects. -- [Create Coins](iota-101/create-coin/create-coin.mdx) -- [Create NFTs](iota-101/nft/create-nft.mdx) +- [Create Coins](create-coin/create-coin.mdx) +- [Create NFTs](nft/create-nft.mdx) ## Working with PTBs You can create programmable transaction blocks (PTBs) on IOTA to perform multiple commands in a single transaction. The Working with PTBs topics demonstrate how to build efficient PTBs using the IOTA TypeScript SDK. -Go to [Working with PTBs](iota-101/transactions/ptb/programmable-transaction-blocks-overview). +Go to [Working with PTBs](transactions/ptb/programmable-transaction-blocks-overview). ## Using Events You can emit events from your published packages on the IOTA network. Using Events demonstrates how to emit events from your on-chain packages and monitor the activity of other objects emitting events. -Go to [Using Events](iota-101/using-events.mdx). +Go to [Using Events](using-events.mdx). ## Shared versus Owned Objects Objects on IOTA, unlike other blockchains, can be owned as well as shared. You can create transactions that leverage either type or both. Shared versus Owned Objects examines the differences and what considerations you should account for when deciding how to structure your on-chain app. -Go to [Shared versus Owned Objects](iota-101/objects/shared-owned.mdx). +Go to [Shared versus Owned Objects](objects/shared-owned.mdx). ## Access On-Chain Time IOTA provides a `Clock` module you can use to get network-based time. Access On-Chain Time examines the `Clock` module and the behavior of the available methods that affect transaction processing speed and the temporal exactness of the data you receive. -Go to [Access On-Chain Time](iota-101/access-time.mdx). \ No newline at end of file +Go to [Access On-Chain Time](access-time.mdx). \ No newline at end of file diff --git a/docs/content/references/iota-sdks.mdx b/docs/content/references/iota-sdks.mdx index 840ea0e7346..1189cf6b9a2 100644 --- a/docs/content/references/iota-sdks.mdx +++ b/docs/content/references/iota-sdks.mdx @@ -14,7 +14,7 @@ See [Rust SDK](./rust-sdk.mdx) for SDK configuration and examples of using the I ## IOTA TypeScript SDK -The IOTA TypeScript SDK documentation is available in its own microsite: [IOTA Typescript SDK](ts-sdk/typescript/index.mdx). +The IOTA TypeScript SDK documentation is available in the [IOTA Typescript SDK section](ts-sdk/typescript/index.mdx). ### Crate documentation diff --git a/docs/content/sidebars/developer.js b/docs/content/sidebars/developer.js index 1ce2575c18b..476f9e4e2e3 100644 --- a/docs/content/sidebars/developer.js +++ b/docs/content/sidebars/developer.js @@ -4,6 +4,7 @@ const developer = [ 'developer/developer', + 'developer/network-overview', { type: 'category', label: 'Getting Started', @@ -19,7 +20,6 @@ const developer = [ 'developer/getting-started/local-network', 'developer/getting-started/get-address', 'developer/getting-started/get-coins', - //'developer/getting-started/graphql-rpc', 'developer/getting-started/create-a-package', 'developer/getting-started/create-a-module', 'developer/getting-started/build-test', @@ -29,241 +29,191 @@ const developer = [ 'developer/getting-started/coffee-example', ], }, - 'developer/network-overview', { type: 'category', - label: 'IOTA 101', - link: { - type: 'doc', - id: 'developer/iota-101', - }, + label: 'SDKs & CLI', items: [ { type: 'category', - label: 'Move Overview', + label: 'IOTA CLI', + link: { + type: 'doc', + id: 'references/cli', + }, items: [ - 'developer/iota-101/move-overview/move-overview', - 'developer/iota-101/move-overview/strings', - 'developer/iota-101/move-overview/collections', - 'developer/iota-101/move-overview/init', - 'developer/iota-101/move-overview/visibility', - 'developer/iota-101/move-overview/entry-functions', - { - type: 'category', - label: 'Structs and Abilities', - items: [ - 'developer/iota-101/move-overview/structs-and-abilities/struct', - 'developer/iota-101/move-overview/structs-and-abilities/copy', - 'developer/iota-101/move-overview/structs-and-abilities/drop', - 'developer/iota-101/move-overview/structs-and-abilities/key', - 'developer/iota-101/move-overview/structs-and-abilities/store', - ], - }, - 'developer/iota-101/move-overview/one-time-witness', - { - type: 'category', - label: 'Package Upgrades', - items: [ - 'developer/iota-101/move-overview/package-upgrades/introduction', - 'developer/iota-101/move-overview/package-upgrades/upgrade', - 'developer/iota-101/move-overview/package-upgrades/automated-address-management', - 'developer/iota-101/move-overview/package-upgrades/custom-policies', - ], - }, - 'developer/iota-101/move-overview/ownership-scope', - 'developer/iota-101/move-overview/references', - 'developer/iota-101/move-overview/generics', - { - type: 'category', - label: 'Patterns', - items: [ - 'developer/iota-101/move-overview/patterns/patterns', - 'developer/iota-101/move-overview/patterns/capabilities', - 'developer/iota-101/move-overview/patterns/witness', - 'developer/iota-101/move-overview/patterns/transferable-witness', - 'developer/iota-101/move-overview/patterns/hot-potato', - 'developer/iota-101/move-overview/patterns/id-pointer', - ], - }, - 'developer/iota-101/move-overview/conventions', + 'references/cli/client', + 'references/cli/ptb', + 'references/cli/console', + 'references/cli/keytool', + 'references/cli/move', + 'references/cli/validator', + 'references/cli/ceremony', + 'references/cli/cheatsheet', ], }, - //'developer/graphql-rpc', + 'references/rust-sdk', + { + type: 'link', + label: 'Typescript SDK', + href: '/references/ts-sdk/typescript', + }, + 'developer/iota-101/using-events', + ], + }, + { + type: 'category', + label: 'Move Overview', + items: [ + 'developer/iota-101/move-overview/move-overview', + 'developer/iota-101/move-overview/strings', + 'developer/iota-101/move-overview/collections', + 'developer/iota-101/move-overview/init', + 'developer/iota-101/move-overview/visibility', + 'developer/iota-101/move-overview/entry-functions', { type: 'category', - label: 'Object Model', + label: 'Structs and Abilities', items: [ - 'developer/iota-101/objects/object-model', - 'developer/iota-101/objects/shared-owned', - { - type: 'category', - label: 'Object Ownership', - link: { - type: 'doc', - id: 'developer/iota-101/objects/object-ownership/object-ownership', - }, - items: [ - 'developer/iota-101/objects/object-ownership/address-owned', - 'developer/iota-101/objects/object-ownership/immutable', - 'developer/iota-101/objects/object-ownership/shared', - 'developer/iota-101/objects/object-ownership/wrapped', - ], - }, - 'developer/iota-101/objects/uid-id', - { - type: 'category', - label: 'Dynamic Fields', - link: { - type: 'doc', - id: 'developer/iota-101/objects/dynamic-fields/dynamic-fields', - }, - items: ['developer/iota-101/objects/dynamic-fields/tables-bags'], - }, - { - type: 'category', - label: 'Transfers', - link: { - type: 'doc', - id: 'developer/iota-101/objects/transfers/transfers', - }, - items: [ - 'developer/iota-101/objects/transfers/custom-rules', - 'developer/iota-101/objects/transfers/transfer-to-object', - ], - }, - 'developer/iota-101/objects/events', - 'developer/iota-101/objects/versioning', + 'developer/iota-101/move-overview/structs-and-abilities/struct', + 'developer/iota-101/move-overview/structs-and-abilities/copy', + 'developer/iota-101/move-overview/structs-and-abilities/drop', + 'developer/iota-101/move-overview/structs-and-abilities/key', + 'developer/iota-101/move-overview/structs-and-abilities/store', + ], + }, + 'developer/iota-101/move-overview/one-time-witness', + { + type: 'category', + label: 'Package Upgrades', + items: [ + 'developer/iota-101/move-overview/package-upgrades/introduction', + 'developer/iota-101/move-overview/package-upgrades/upgrade', + 'developer/iota-101/move-overview/package-upgrades/automated-address-management', + 'developer/iota-101/move-overview/package-upgrades/custom-policies', ], }, + 'developer/iota-101/move-overview/ownership-scope', + 'developer/iota-101/move-overview/references', + 'developer/iota-101/move-overview/generics', + { + type: 'category', + label: 'Patterns', + items: [ + 'developer/iota-101/move-overview/patterns/patterns', + 'developer/iota-101/move-overview/patterns/capabilities', + 'developer/iota-101/move-overview/patterns/witness', + 'developer/iota-101/move-overview/patterns/transferable-witness', + 'developer/iota-101/move-overview/patterns/hot-potato', + 'developer/iota-101/move-overview/patterns/id-pointer', + ], + }, + 'developer/iota-101/access-time', + 'developer/iota-101/move-overview/conventions', + ], + }, + { + type: 'category', + label: 'Object Model', + items: [ + 'developer/iota-101/objects/object-model', + 'developer/iota-101/objects/shared-owned', { type: 'category', - label: 'Transactions', + label: 'Object Ownership', link: { type: 'doc', - id: 'developer/iota-101/transactions/transactions', + id: 'developer/iota-101/objects/object-ownership/object-ownership', }, items: [ - 'developer/iota-101/transactions/sign-and-send-transactions', - { - type: 'category', - label: 'Sponsored Transactions', - link: { - type: 'doc', - id: 'developer/iota-101/transactions/sponsored-transactions/about-sponsored-transactions', - }, - items: [ - 'developer/iota-101/transactions/sponsored-transactions/about-sponsored-transactions', - 'developer/iota-101/transactions/sponsored-transactions/use-sponsored-transactions'], - }, - { - type: 'category', - label: 'Working with PTBs', - link: { - type: 'doc', - id:'developer/iota-101/transactions/ptb/programmable-transaction-blocks-overview', - }, - items: [ - 'developer/iota-101/transactions/ptb/programmable-transaction-blocks', - 'developer/iota-101/transactions/ptb/building-programmable-transaction-blocks-ts-sdk', - 'developer/iota-101/transactions/ptb/simulating-references', - 'developer/iota-101/transactions/ptb/coin-management', - 'developer/iota-101/transactions/ptb/optimizing-gas-with-coin-merging', - - ], - }, + 'developer/iota-101/objects/object-ownership/address-owned', + 'developer/iota-101/objects/object-ownership/immutable', + 'developer/iota-101/objects/object-ownership/shared', + 'developer/iota-101/objects/object-ownership/wrapped', ], }, + 'developer/iota-101/objects/uid-id', { type: 'category', - label: 'Create Coins and Tokens', + label: 'Dynamic Fields', link: { type: 'doc', - id: 'developer/iota-101/create-coin/create-coin', + id: 'developer/iota-101/objects/dynamic-fields/dynamic-fields', }, - items: [ - 'developer/iota-101/create-coin/regulated', - 'developer/iota-101/create-coin/migrate-to-coin-manager', - 'developer/iota-101/create-coin/in-game-token', - 'developer/iota-101/create-coin/loyalty', - ], + items: ['developer/iota-101/objects/dynamic-fields/tables-bags'], }, { - type:'category', - label: 'NFT', + type: 'category', + label: 'Transfers', + link: { + type: 'doc', + id: 'developer/iota-101/objects/transfers/transfers', + }, items: [ - 'developer/iota-101/nft/create-nft', - 'developer/iota-101/nft/rent-nft', - ] + 'developer/iota-101/objects/transfers/custom-rules', + 'developer/iota-101/objects/transfers/transfer-to-object', + ], }, - 'developer/iota-101/using-events', - 'developer/iota-101/access-time', + 'developer/iota-101/objects/events', + 'developer/iota-101/objects/versioning', ], }, { type: 'category', - label: 'Capture The Flag', + label: 'Transactions', link: { type: 'doc', - id: 'developer/iota-move-ctf/introduction', + id: 'developer/iota-101/transactions/transactions', }, items: [ - 'developer/iota-move-ctf/challenge_1', - 'developer/iota-move-ctf/challenge_2', - 'developer/iota-move-ctf/challenge_3', - 'developer/iota-move-ctf/challenge_4', - 'developer/iota-move-ctf/challenge_5', - 'developer/iota-move-ctf/challenge_6', - 'developer/iota-move-ctf/challenge_7', - 'developer/iota-move-ctf/challenge_8', - ], - }, - { - type: 'category', - label: 'Standards', - link: { - type: 'generated-index', - title:'IOTA Standards Overview', - description: 'Standards on the IOTA blockchain are features, frameworks, or apps that you can extend or customize.', - slug: 'developer/standards', - }, - items: [ - 'developer/standards/coin', - 'developer/standards/coin-manager', + 'developer/iota-101/transactions/sign-and-send-transactions', { type: 'category', - label: 'Closed-Loop Token', + label: 'Sponsored Transactions', link: { type: 'doc', - id: 'developer/standards/closed-loop-token', + id: 'developer/iota-101/transactions/sponsored-transactions/about-sponsored-transactions', }, items: [ - 'developer/standards/closed-loop-token/action-request', - 'developer/standards/closed-loop-token/token-policy', - 'developer/standards/closed-loop-token/spending', - 'developer/standards/closed-loop-token/rules', - 'developer/standards/closed-loop-token/coin-token-comparison', + 'developer/iota-101/transactions/sponsored-transactions/about-sponsored-transactions', + 'developer/iota-101/transactions/sponsored-transactions/use-sponsored-transactions', + ], + }, + { + type: 'category', + label: 'Working with PTBs', + link: { + type: 'doc', + id: 'developer/iota-101/transactions/ptb/programmable-transaction-blocks-overview', + }, + items: [ + 'developer/iota-101/transactions/ptb/programmable-transaction-blocks', + 'developer/iota-101/transactions/ptb/building-programmable-transaction-blocks-ts-sdk', + 'developer/iota-101/transactions/ptb/simulating-references', + 'developer/iota-101/transactions/ptb/coin-management', + 'developer/iota-101/transactions/ptb/optimizing-gas-with-coin-merging', ], }, - 'developer/standards/kiosk', - 'developer/standards/kiosk-apps', - 'developer/standards/display', - 'developer/standards/wallet-standard', ], }, { type: 'category', - label: 'From Solidity/EVM to Move', - collapsed: true, + label: 'Create Coins and Tokens', link: { type: 'doc', - id: 'developer/evm-to-move/evm-to-move', + id: 'developer/iota-101/create-coin/create-coin', }, items: [ - 'developer/evm-to-move/tooling-apis', - 'developer/evm-to-move/creating-token', - 'developer/evm-to-move/creating-nft', + 'developer/iota-101/create-coin/regulated', + 'developer/iota-101/create-coin/migrate-to-coin-manager', + 'developer/iota-101/create-coin/in-game-token', + 'developer/iota-101/create-coin/loyalty', ], }, + { + type: 'category', + label: 'NFT', + items: ['developer/iota-101/nft/create-nft', 'developer/iota-101/nft/rent-nft'], + }, { type: 'category', label: 'Cryptography', @@ -304,6 +254,81 @@ const developer = [ }, ], }, + { + type: 'category', + label: 'Standards', + link: { + type: 'generated-index', + title: 'IOTA Standards Overview', + description: + 'Standards on the IOTA blockchain are features, frameworks, or apps that you can extend or customize.', + slug: 'developer/standards', + }, + items: [ + 'developer/standards/coin', + 'developer/standards/coin-manager', + { + type: 'category', + label: 'Closed-Loop Token', + link: { + type: 'doc', + id: 'developer/standards/closed-loop-token', + }, + items: [ + 'developer/standards/closed-loop-token/action-request', + 'developer/standards/closed-loop-token/token-policy', + 'developer/standards/closed-loop-token/spending', + 'developer/standards/closed-loop-token/rules', + 'developer/standards/closed-loop-token/coin-token-comparison', + ], + }, + 'developer/standards/kiosk', + 'developer/standards/kiosk-apps', + 'developer/standards/display', + 'developer/standards/wallet-standard', + ], + }, + { + type: 'category', + label: 'Capture The Flag', + link: { + type: 'doc', + id: 'developer/iota-move-ctf/introduction', + }, + items: [ + 'developer/iota-move-ctf/challenge_1', + 'developer/iota-move-ctf/challenge_2', + 'developer/iota-move-ctf/challenge_3', + 'developer/iota-move-ctf/challenge_4', + 'developer/iota-move-ctf/challenge_5', + 'developer/iota-move-ctf/challenge_6', + 'developer/iota-move-ctf/challenge_7', + 'developer/iota-move-ctf/challenge_8', + ], + }, + { + type: 'category', + label: 'From Solidity/EVM to Move', + collapsed: true, + link: { + type: 'doc', + id: 'developer/evm-to-move/evm-to-move', + }, + items: [ + 'developer/evm-to-move/tooling-apis', + 'developer/evm-to-move/creating-token', + 'developer/evm-to-move/creating-nft', + ], + }, + { + type: 'category', + label: 'GraphQL', + items: [ + 'developer/getting-started/graphql-rpc', + 'developer/graphql-rpc', + 'developer/advanced/graphql-migration', + ], + }, { type: 'category', label: 'Advanced Topics', diff --git a/docs/content/sidebars/references.js b/docs/content/sidebars/references.js index 58d623d801e..2b4673f258f 100644 --- a/docs/content/sidebars/references.js +++ b/docs/content/sidebars/references.js @@ -2,7 +2,6 @@ // Modifications Copyright (c) 2024 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 -import typedocSidebar from '../references/ts-sdk/api/typedoc-sidebar.cjs'; const references = [ { type: 'doc', @@ -12,26 +11,25 @@ const references = [ { type: 'category', label: 'IOTA RPC', - collapsed: false, link: { type: 'doc', id: 'references/iota-api', }, items: [ { - type: 'category', - label: 'GraphQL', - link: { - type: 'doc', - id: 'references/iota-graphql', - }, - items: [ - { - type: 'autogenerated', - dirName: 'references/iota-api/iota-graphql/reference', - }, - ], - }, + type: 'category', + label: 'GraphQL', + link: { + type: 'doc', + id: 'references/iota-graphql', + }, + items: [ + { + type: 'autogenerated', + dirName: 'references/iota-api/iota-graphql/reference', + }, + ], + }, { type: 'link', label: 'JSON-RPC', @@ -41,175 +39,9 @@ const references = [ 'references/iota-api/rpc-best-practices', ], }, - { - type: 'category', - label: 'IOTA CLI', - collapsed: false, - link: { - type: 'doc', - id: 'references/cli', - }, - items: [ - 'references/cli/client', - 'references/cli/ptb', - 'references/cli/console', - 'references/cli/keytool', - 'references/cli/move', - 'references/cli/validator', - 'references/cli/ceremony', - 'references/cli/cheatsheet', - ], - }, - { - type: 'category', - label: 'IOTA SDKs', - collapsed: false, - link: { - type: 'doc', - id: 'references/iota-sdks', - }, - items: [ - 'references/rust-sdk', - { - type: 'category', - label: 'IOTA TypeScript Documentation', - items: [ - { - type: 'category', - label: 'Typescript SDK', - items: [ - 'references/ts-sdk/typescript/index', - 'references/ts-sdk/typescript/install', - 'references/ts-sdk/typescript/hello-iota', - 'references/ts-sdk/typescript/faucet', - 'references/ts-sdk/typescript/iota-client', - 'references/ts-sdk/typescript/graphql', - { - type: 'category', - label: 'Transaction Building', - items: [ - 'references/ts-sdk/typescript/transaction-building/basics', - 'references/ts-sdk/typescript/transaction-building/gas', - 'references/ts-sdk/typescript/transaction-building/sponsored-transactions', - 'references/ts-sdk/typescript/transaction-building/offline', - ], - }, - { - type: 'category', - label: 'Cryptography', - items: [ - 'references/ts-sdk/typescript/cryptography/keypairs', - 'references/ts-sdk/typescript/cryptography/multisig', - ], - }, - 'references/ts-sdk/typescript/utils', - 'references/ts-sdk/typescript/bcs', - 'references/ts-sdk/typescript/executors', - 'references/ts-sdk/typescript/plugins', - { - type: 'category', - label: 'Owned Object Pool', - items: [ - 'references/ts-sdk/typescript/owned-object-pool/index', - 'references/ts-sdk/typescript/owned-object-pool/overview', - 'references/ts-sdk/typescript/owned-object-pool/local-development', - 'references/ts-sdk/typescript/owned-object-pool/custom-split-strategy', - 'references/ts-sdk/typescript/owned-object-pool/examples', - ], - }, - ], - }, - { - type: 'category', - label: 'dApp Kit', - items: [ - 'references/ts-sdk/dapp-kit/index', - 'references/ts-sdk/dapp-kit/create-dapp', - 'references/ts-sdk/dapp-kit/iota-client-provider', - 'references/ts-sdk/dapp-kit/rpc-hooks', - 'references/ts-sdk/dapp-kit/wallet-provider', - { - type: 'category', - label: 'Wallet Components', - items: [ - 'references/ts-sdk/dapp-kit/wallet-components/ConnectButton', - 'references/ts-sdk/dapp-kit/wallet-components/ConnectModal', - ], - }, - { - type: 'category', - label: 'Wallet Hooks', - items: [ - 'references/ts-sdk/dapp-kit/wallet-hooks/useWallets', - 'references/ts-sdk/dapp-kit/wallet-hooks/useAccounts', - 'references/ts-sdk/dapp-kit/wallet-hooks/useCurrentWallet', - 'references/ts-sdk/dapp-kit/wallet-hooks/useCurrentAccount', - 'references/ts-sdk/dapp-kit/wallet-hooks/useAutoConnectWallet', - 'references/ts-sdk/dapp-kit/wallet-hooks/useConnectWallet', - 'references/ts-sdk/dapp-kit/wallet-hooks/useDisconnectWallet', - 'references/ts-sdk/dapp-kit/wallet-hooks/useSwitchAccount', - 'references/ts-sdk/dapp-kit/wallet-hooks/useReportTransactionEffects', - 'references/ts-sdk/dapp-kit/wallet-hooks/useSignPersonalMessage', - 'references/ts-sdk/dapp-kit/wallet-hooks/useSignTransaction', - 'references/ts-sdk/dapp-kit/wallet-hooks/useSignAndExecuteTransaction', - ], - }, - 'references/ts-sdk/dapp-kit/themes', - ], - }, - { - type: 'category', - label: 'Kiosk SDK', - items: [ - 'references/ts-sdk/kiosk/index', - { - type: 'category', - label: 'Kiosk Client', - items: [ - 'references/ts-sdk/kiosk/kiosk-client/introduction', - 'references/ts-sdk/kiosk/kiosk-client/querying', - { - type: 'category', - label: 'Kiosk Transactions', - items: [ - 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/kiosk-transaction', - 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/managing', - 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/purchasing', - 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/examples', - ], - }, - { - type: 'category', - label: 'Transfer Policy Transactions', - items: [ - 'references/ts-sdk/kiosk/kiosk-client/transfer-policy-transaction/introduction', - 'references/ts-sdk/kiosk/kiosk-client/transfer-policy-transaction/using-the-manager', - ], - }, - ], - }, - 'references/ts-sdk/kiosk/advanced-examples', - ], - }, - 'references/ts-sdk/bcs', - { - type: 'category', - label: 'API', - link:{ - type: 'doc', - id: 'references/ts-sdk/api/index', - }, - items: typedocSidebar, - }, - - ], - }, - ], - }, { type: 'category', label: 'Move', - collapsed: false, link: { type: 'doc', id: 'references/iota-move', @@ -238,21 +70,15 @@ const references = [ }, { type: 'category', - label: 'Expert topics', + label: 'Execution Architecture', + link: { + type: 'doc', + id: 'references/execution-architecture/execution-layer', + }, items: [ - { - type: 'category', - label: 'Execution Architecture', - link: { - type: 'doc', - id: 'references/execution-architecture/execution-layer', - }, - items: [ - 'references/execution-architecture/iota-execution', - 'references/execution-architecture/adapter', - 'references/execution-architecture/natives', - ], - }, + 'references/execution-architecture/iota-execution', + 'references/execution-architecture/adapter', + 'references/execution-architecture/natives', ], }, 'references/research-papers', @@ -269,7 +95,7 @@ const references = [ 'references/contribute/code-of-conduct', 'references/contribute/style-guide', 'references/contribute/add-a-quiz', - 'references/contribute/import-code-docs' + 'references/contribute/import-code-docs', ], }, ]; diff --git a/docs/content/sidebars/ts-sdk.js b/docs/content/sidebars/ts-sdk.js new file mode 100644 index 00000000000..0db6843655c --- /dev/null +++ b/docs/content/sidebars/ts-sdk.js @@ -0,0 +1,152 @@ +// Copyright (c) Mysten Labs, Inc. +// Modifications Copyright (c) 2024 IOTA Stiftung +// SPDX-License-Identifier: Apache-2.0 + +import typedocSidebar from '../references/ts-sdk/api/typedoc-sidebar.cjs'; +const references = [ + { + type: 'category', + label: 'IOTA TypeScript Documentation', + items: [ + { + type: 'category', + label: 'Typescript SDK', + items: [ + 'references/ts-sdk/typescript/index', + 'references/ts-sdk/typescript/install', + 'references/ts-sdk/typescript/hello-iota', + 'references/ts-sdk/typescript/faucet', + 'references/ts-sdk/typescript/iota-client', + 'references/ts-sdk/typescript/graphql', + { + type: 'category', + label: 'Transaction Building', + items: [ + 'references/ts-sdk/typescript/transaction-building/basics', + 'references/ts-sdk/typescript/transaction-building/gas', + 'references/ts-sdk/typescript/transaction-building/sponsored-transactions', + 'references/ts-sdk/typescript/transaction-building/offline', + ], + }, + { + type: 'category', + label: 'Cryptography', + items: [ + 'references/ts-sdk/typescript/cryptography/keypairs', + 'references/ts-sdk/typescript/cryptography/multisig', + ], + }, + 'references/ts-sdk/typescript/utils', + 'references/ts-sdk/typescript/bcs', + 'references/ts-sdk/typescript/executors', + 'references/ts-sdk/typescript/plugins', + { + type: 'category', + label: 'Owned Object Pool', + items: [ + 'references/ts-sdk/typescript/owned-object-pool/index', + 'references/ts-sdk/typescript/owned-object-pool/overview', + 'references/ts-sdk/typescript/owned-object-pool/local-development', + 'references/ts-sdk/typescript/owned-object-pool/custom-split-strategy', + 'references/ts-sdk/typescript/owned-object-pool/examples', + ], + }, + ], + }, + { + type: 'category', + label: 'dApp Kit', + items: [ + 'references/ts-sdk/dapp-kit/index', + 'references/ts-sdk/dapp-kit/create-dapp', + 'references/ts-sdk/dapp-kit/iota-client-provider', + 'references/ts-sdk/dapp-kit/rpc-hooks', + 'references/ts-sdk/dapp-kit/wallet-provider', + { + type: 'category', + label: 'Wallet Components', + items: [ + 'references/ts-sdk/dapp-kit/wallet-components/ConnectButton', + 'references/ts-sdk/dapp-kit/wallet-components/ConnectModal', + ], + }, + { + type: 'category', + label: 'Wallet Hooks', + items: [ + 'references/ts-sdk/dapp-kit/wallet-hooks/useWallets', + 'references/ts-sdk/dapp-kit/wallet-hooks/useAccounts', + 'references/ts-sdk/dapp-kit/wallet-hooks/useCurrentWallet', + 'references/ts-sdk/dapp-kit/wallet-hooks/useCurrentAccount', + 'references/ts-sdk/dapp-kit/wallet-hooks/useAutoConnectWallet', + 'references/ts-sdk/dapp-kit/wallet-hooks/useConnectWallet', + 'references/ts-sdk/dapp-kit/wallet-hooks/useDisconnectWallet', + 'references/ts-sdk/dapp-kit/wallet-hooks/useSwitchAccount', + 'references/ts-sdk/dapp-kit/wallet-hooks/useReportTransactionEffects', + 'references/ts-sdk/dapp-kit/wallet-hooks/useSignPersonalMessage', + 'references/ts-sdk/dapp-kit/wallet-hooks/useSignTransaction', + 'references/ts-sdk/dapp-kit/wallet-hooks/useSignAndExecuteTransaction', + ], + }, + 'references/ts-sdk/dapp-kit/themes', + ], + }, + { + type: 'category', + label: 'Kiosk SDK', + items: [ + 'references/ts-sdk/kiosk/index', + { + type: 'category', + label: 'Kiosk Client', + items: [ + 'references/ts-sdk/kiosk/kiosk-client/introduction', + 'references/ts-sdk/kiosk/kiosk-client/querying', + { + type: 'category', + label: 'Kiosk Transactions', + items: [ + 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/kiosk-transaction', + 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/managing', + 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/purchasing', + 'references/ts-sdk/kiosk/kiosk-client/kiosk-transaction/examples', + ], + }, + { + type: 'category', + label: 'Transfer Policy Transactions', + items: [ + 'references/ts-sdk/kiosk/kiosk-client/transfer-policy-transaction/introduction', + 'references/ts-sdk/kiosk/kiosk-client/transfer-policy-transaction/using-the-manager', + ], + }, + ], + }, + 'references/ts-sdk/kiosk/advanced-examples', + ], + }, + 'references/ts-sdk/bcs', + { + type: 'category', + label: 'API', + link: { + type: 'doc', + id: 'references/ts-sdk/api/index', + }, + items: typedocSidebar, + }, + ], + }, + 'references/ts-sdk/bcs', + { + type: 'category', + label: 'API', + link: { + type: 'doc', + id: 'references/ts-sdk/api/index', + }, + items: typedocSidebar, + }, +]; + +module.exports = references; diff --git a/docs/site/docusaurus.config.js b/docs/site/docusaurus.config.js index 30c0edb3c5d..3edac2ca385 100644 --- a/docs/site/docusaurus.config.js +++ b/docs/site/docusaurus.config.js @@ -241,6 +241,10 @@ const config = { label: "Developers", to: "developer", }, + { + label: "TS SDK", + to: "references/ts-sdk/typescript/", + }, { label: "Node Operators", to: "operator", diff --git a/docs/site/sidebars.js b/docs/site/sidebars.js index 1fd99ac962c..0207505a354 100644 --- a/docs/site/sidebars.js +++ b/docs/site/sidebars.js @@ -7,6 +7,7 @@ const developer = require("../content/sidebars/developer.js"); const aboutIota = require("../content/sidebars/about-iota.js"); const operator = require("../content/sidebars/operator.js"); const references = require("../content/sidebars/references.js"); +const tsSDK = require("../content/sidebars/ts-sdk.js") const sidebars = { //whyIOTASidebar: why_iota, @@ -14,6 +15,7 @@ const sidebars = { operatorSidebar: operator, aboutIotaSidebar: aboutIota, referencesSidebar: references, + tsSDK: tsSDK, }; module.exports = sidebars; diff --git a/docs/site/src/pages/index.js b/docs/site/src/pages/index.js index ba011c0c546..7cfe41a3912 100644 --- a/docs/site/src/pages/index.js +++ b/docs/site/src/pages/index.js @@ -99,7 +99,7 @@ export default function Home() { Move