From 18a7351bb501662c491d4580f464b06265e5299a Mon Sep 17 00:00:00 2001 From: Pavlo Botnar Date: Thu, 25 Jul 2024 17:08:41 +0300 Subject: [PATCH 1/2] refactor/feat:(iota-indexer, iota-types, iota-json-rpc-types): remove storage_fund_reinvestment mentions from code base (#996) * refactor/feat:(iota-indexer, iota-types, iota-json-rpc-types): remove storage_fund_reinvestment mentions from code base (Rust, Move parts) add new migration to remove reinvestment column --- .../docs/iota-system/iota_system_state_inner.mdx | 9 --------- .../iota-system/sources/iota_system_state_inner.move | 3 --- .../2024-07-23-075345_remove_reinvestment/down.sql | 1 + .../2024-07-23-075345_remove_reinvestment/up.sql | 1 + crates/iota-indexer/src/models/epoch.rs | 6 ------ crates/iota-indexer/src/schema.rs | 1 - crates/iota-indexer/src/store/pg_indexer_store.rs | 2 -- crates/iota-indexer/src/types.rs | 3 --- crates/iota-json-rpc-types/src/iota_extended.rs | 3 --- crates/iota-protocol-config/src/lib.rs | 5 ----- .../iota_protocol_config__test__Mainnet_version_1.snap | 1 - .../iota_protocol_config__test__Testnet_version_1.snap | 1 - .../snapshots/iota_protocol_config__test__version_1.snap | 1 - crates/iota-types/src/event.rs | 2 -- .../src/iota_system_state/iota_system_state_summary.rs | 4 ++-- 15 files changed, 4 insertions(+), 39 deletions(-) create mode 100644 crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/down.sql create mode 100644 crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/up.sql diff --git a/crates/iota-framework/docs/iota-system/iota_system_state_inner.mdx b/crates/iota-framework/docs/iota-system/iota_system_state_inner.mdx index 431f53f66e7..232472f96a8 100644 --- a/crates/iota-framework/docs/iota-system/iota_system_state_inner.mdx +++ b/crates/iota-framework/docs/iota-system/iota_system_state_inner.mdx @@ -635,13 +635,6 @@ total_stake: u64
-
-
- -storage_fund_reinvestment: u64 -
-
-
@@ -2389,8 +2382,6 @@ or smaller than the computation reward. reference_gas_price: self.reference_gas_price, total_stake: new_total_stake, storage_charge: storage_charge_value, - // TODO: remove(obsolete) - storage_fund_reinvestment: 0, storage_rebate: storage_rebate_amount, storage_fund_balance: self.storage_fund.total_balance(), // TODO: remove(obsolete) diff --git a/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move b/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move index 4cbaec1a951..23eb13034d5 100644 --- a/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move +++ b/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move @@ -207,7 +207,6 @@ module iota_system::iota_system_state_inner { protocol_version: u64, reference_gas_price: u64, total_stake: u64, - storage_fund_reinvestment: u64, storage_charge: u64, storage_rebate: u64, storage_fund_balance: u64, @@ -932,8 +931,6 @@ module iota_system::iota_system_state_inner { reference_gas_price: self.reference_gas_price, total_stake: new_total_stake, storage_charge: storage_charge_value, - // TODO: remove(obsolete) - storage_fund_reinvestment: 0, storage_rebate: storage_rebate_amount, storage_fund_balance: self.storage_fund.total_balance(), // TODO: remove(obsolete) diff --git a/crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/down.sql b/crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/down.sql new file mode 100644 index 00000000000..7eac15bd645 --- /dev/null +++ b/crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/down.sql @@ -0,0 +1 @@ +ALTER TABLE epochs ADD COLUMN storage_fund_reinvestment BIGINT; diff --git a/crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/up.sql b/crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/up.sql new file mode 100644 index 00000000000..b48369d9054 --- /dev/null +++ b/crates/iota-indexer/migrations/2024-07-23-075345_remove_reinvestment/up.sql @@ -0,0 +1 @@ +ALTER TABLE epochs DROP COLUMN storage_fund_reinvestment; diff --git a/crates/iota-indexer/src/models/epoch.rs b/crates/iota-indexer/src/models/epoch.rs index ce5eff58192..5e0c0cd7916 100644 --- a/crates/iota-indexer/src/models/epoch.rs +++ b/crates/iota-indexer/src/models/epoch.rs @@ -22,8 +22,6 @@ pub struct StoredEpochInfo { pub epoch_total_transactions: Option, pub last_checkpoint_id: Option, pub epoch_end_timestamp: Option, - // TODO: remove(obsolete) - pub storage_fund_reinvestment: Option, pub storage_charge: Option, pub storage_rebate: Option, // TODO: remove(obsolete) @@ -49,8 +47,6 @@ pub struct QueryableEpochInfo { pub epoch_total_transactions: Option, pub last_checkpoint_id: Option, pub epoch_end_timestamp: Option, - // TODO: remove(obsolete) - pub storage_fund_reinvestment: Option, pub storage_charge: Option, pub storage_rebate: Option, // TODO: remove(obsolete) @@ -90,7 +86,6 @@ impl StoredEpochInfo { epoch_total_transactions: e.epoch_total_transactions.map(|v| v as i64), last_checkpoint_id: e.last_checkpoint_id.map(|v| v as i64), epoch_end_timestamp: e.epoch_end_timestamp.map(|v| v as i64), - storage_fund_reinvestment: e.storage_fund_reinvestment.map(|v| v as i64), storage_charge: e.storage_charge.map(|v| v as i64), storage_rebate: e.storage_rebate.map(|v| v as i64), stake_subsidy_amount: e.stake_subsidy_amount.map(|v| v as i64), @@ -127,7 +122,6 @@ impl From<&StoredEpochInfo> for Option { total_stake: info.total_stake as u64, storage_fund_balance: info.storage_fund_balance as u64, epoch_end_timestamp: info.epoch_end_timestamp.map(|v| v as u64)?, - storage_fund_reinvestment: info.storage_fund_reinvestment.map(|v| v as u64)?, storage_charge: info.storage_charge.map(|v| v as u64)?, storage_rebate: info.storage_rebate.map(|v| v as u64)?, stake_subsidy_amount: info.stake_subsidy_amount.map(|v| v as u64)?, diff --git a/crates/iota-indexer/src/schema.rs b/crates/iota-indexer/src/schema.rs index ff039f12821..fc0f1aaa0f8 100644 --- a/crates/iota-indexer/src/schema.rs +++ b/crates/iota-indexer/src/schema.rs @@ -46,7 +46,6 @@ diesel::table! { epoch_total_transactions -> Nullable, last_checkpoint_id -> Nullable, epoch_end_timestamp -> Nullable, - storage_fund_reinvestment -> Nullable, storage_charge -> Nullable, storage_rebate -> Nullable, stake_subsidy_amount -> Nullable, diff --git a/crates/iota-indexer/src/store/pg_indexer_store.rs b/crates/iota-indexer/src/store/pg_indexer_store.rs index 03f933336bc..b0091ae8744 100644 --- a/crates/iota-indexer/src/store/pg_indexer_store.rs +++ b/crates/iota-indexer/src/store/pg_indexer_store.rs @@ -721,8 +721,6 @@ impl PgIndexerStore { .eq(excluded(epochs::epoch_total_transactions)), epochs::last_checkpoint_id.eq(excluded(epochs::last_checkpoint_id)), epochs::epoch_end_timestamp.eq(excluded(epochs::epoch_end_timestamp)), - epochs::storage_fund_reinvestment - .eq(excluded(epochs::storage_fund_reinvestment)), epochs::storage_charge.eq(excluded(epochs::storage_charge)), epochs::storage_rebate.eq(excluded(epochs::storage_rebate)), epochs::stake_subsidy_amount.eq(excluded(epochs::stake_subsidy_amount)), diff --git a/crates/iota-indexer/src/types.rs b/crates/iota-indexer/src/types.rs index 9243977d711..7efe63a4c99 100644 --- a/crates/iota-indexer/src/types.rs +++ b/crates/iota-indexer/src/types.rs @@ -98,8 +98,6 @@ pub struct IndexedEpochInfo { pub epoch_total_transactions: Option, pub last_checkpoint_id: Option, pub epoch_end_timestamp: Option, - // TODO: remove(obsolete) - pub storage_fund_reinvestment: Option, pub storage_charge: Option, pub storage_rebate: Option, // TODO: remove(obsolete) @@ -148,7 +146,6 @@ impl IndexedEpochInfo { ), last_checkpoint_id: Some(*last_checkpoint_summary.sequence_number()), epoch_end_timestamp: Some(last_checkpoint_summary.timestamp_ms), - storage_fund_reinvestment: Some(event.storage_fund_reinvestment), storage_charge: Some(event.storage_charge), storage_rebate: Some(event.storage_rebate), burnt_leftover_amount: Some(event.burnt_leftover_amount), diff --git a/crates/iota-json-rpc-types/src/iota_extended.rs b/crates/iota-json-rpc-types/src/iota_extended.rs index 72dfbc4ef56..bf4e440d6b9 100644 --- a/crates/iota-json-rpc-types/src/iota_extended.rs +++ b/crates/iota-json-rpc-types/src/iota_extended.rs @@ -79,9 +79,6 @@ pub struct EndOfEpochInfo { pub total_stake: u64, #[schemars(with = "BigInt")] #[serde_as(as = "BigInt")] - pub storage_fund_reinvestment: u64, - #[schemars(with = "BigInt")] - #[serde_as(as = "BigInt")] pub storage_charge: u64, #[schemars(with = "BigInt")] #[serde_as(as = "BigInt")] diff --git a/crates/iota-protocol-config/src/lib.rs b/crates/iota-protocol-config/src/lib.rs index bec5c39dd91..ba7701d61c2 100644 --- a/crates/iota-protocol-config/src/lib.rs +++ b/crates/iota-protocol-config/src/lib.rs @@ -648,10 +648,6 @@ pub struct ProtocolConfig { /// storage rebate back. In basis point. storage_rebate_rate: Option, - /// 5% of the storage fund's share of rewards are reinvested into the - /// storage fund. In basis point. - storage_fund_reinvest_rate: Option, - /// The share of rewards that will be slashed and redistributed is 50%. /// In basis point. reward_slashing_rate: Option, @@ -1362,7 +1358,6 @@ impl ProtocolConfig { obj_metadata_cost_non_refundable: Some(50), gas_model_version: Some(8), storage_rebate_rate: Some(10000), - storage_fund_reinvest_rate: Some(0), // Change reward slashing rate to 100%. reward_slashing_rate: Some(10000), storage_gas_price: Some(76), diff --git a/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Mainnet_version_1.snap b/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Mainnet_version_1.snap index 314e4a500c1..be010860a40 100644 --- a/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Mainnet_version_1.snap +++ b/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Mainnet_version_1.snap @@ -120,7 +120,6 @@ gas_model_version: 8 obj_data_cost_refundable: 100 obj_metadata_cost_non_refundable: 50 storage_rebate_rate: 10000 -storage_fund_reinvest_rate: 0 reward_slashing_rate: 10000 storage_gas_price: 76 validator_target_reward: 767000000000000 diff --git a/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Testnet_version_1.snap b/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Testnet_version_1.snap index de4fcafe1b1..0e0b795d29d 100644 --- a/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Testnet_version_1.snap +++ b/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__Testnet_version_1.snap @@ -122,7 +122,6 @@ gas_model_version: 8 obj_data_cost_refundable: 100 obj_metadata_cost_non_refundable: 50 storage_rebate_rate: 10000 -storage_fund_reinvest_rate: 0 reward_slashing_rate: 10000 storage_gas_price: 76 validator_target_reward: 767000000000000 diff --git a/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__version_1.snap b/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__version_1.snap index cdf28b54fef..2fe129ab283 100644 --- a/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__version_1.snap +++ b/crates/iota-protocol-config/src/snapshots/iota_protocol_config__test__version_1.snap @@ -125,7 +125,6 @@ gas_model_version: 8 obj_data_cost_refundable: 100 obj_metadata_cost_non_refundable: 50 storage_rebate_rate: 10000 -storage_fund_reinvest_rate: 0 reward_slashing_rate: 10000 storage_gas_price: 76 validator_target_reward: 767000000000000 diff --git a/crates/iota-types/src/event.rs b/crates/iota-types/src/event.rs index aa90d2f2e6b..dc48d3eb8c9 100755 --- a/crates/iota-types/src/event.rs +++ b/crates/iota-types/src/event.rs @@ -169,8 +169,6 @@ pub struct SystemEpochInfoEvent { pub protocol_version: u64, pub reference_gas_price: u64, pub total_stake: u64, - // TODO: remove(obsolete) - pub storage_fund_reinvestment: u64, pub storage_charge: u64, pub storage_rebate: u64, pub storage_fund_balance: u64, diff --git a/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs b/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs index 3b42b594781..72cd0c50b87 100644 --- a/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs +++ b/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs @@ -51,8 +51,8 @@ pub struct IotaSystemStateSummary { #[schemars(with = "BigInt")] #[serde_as(as = "Readable, _>")] pub storage_fund_total_object_storage_rebates: u64, - /// The non-refundable portion of the storage fund coming from storage - /// reinvestment, non-refundable storage rebates and any leftover + /// The non-refundable portion of the storage fund coming from + /// non-refundable storage rebates and any leftover /// staking rewards. #[schemars(with = "BigInt")] #[serde_as(as = "Readable, _>")] From eb59dd92e74a5f82f7a2338a75a075d1e18264d2 Mon Sep 17 00:00:00 2001 From: Dave de Fijter Date: Thu, 25 Jul 2024 16:23:33 +0200 Subject: [PATCH 2/2] refactor(docs): About IOTA section cleanup (#1381) * chore: menu restructure for getting started * chore: more menu refactors and adjusted coin pages * refactor: More sections moved, proof-read all pages for about iota * chore: broken link fix * consistent tabs/spaces for sidebars * chore: fixing review comments * chore: consistent naming for tokens * fix: broken link --- docs/content/about-iota/about-iota.mdx | 72 +- docs/content/about-iota/components.mdx | 56 -- docs/content/about-iota/iota-architecture.mdx | 6 - .../iota-architecture/consensus.mdx | 4 +- .../iota-architecture/indexer-functions.mdx | 19 - .../iota-architecture/iota-security.mdx | 6 +- docs/content/about-iota/tokenomics.mdx | 4 +- .../about-iota/tokenomics/iota-coin.mdx | 18 - .../about-iota/tokenomics/iota-token.mdx | 26 + .../about-iota/tokenomics/smr-token.mdx | 15 + .../images/indexer-arch.png | Bin docs/content/operator/indexer-functions.mdx | 19 + .../telemetry/iota-metrics.mdx | 0 .../operator/telemetry/iota-telemetry.mdx | 41 ++ .../telemetry/telemetry-subscribers.mdx | 0 .../research-papers.mdx | 0 docs/content/sidebars/about-iota.js | 30 +- docs/content/sidebars/developer.js | 579 ++++++++-------- docs/content/sidebars/operator.js | 10 + docs/content/sidebars/references.js | 619 +++++++++--------- 20 files changed, 774 insertions(+), 750 deletions(-) delete mode 100644 docs/content/about-iota/components.mdx delete mode 100644 docs/content/about-iota/iota-architecture/indexer-functions.mdx delete mode 100644 docs/content/about-iota/tokenomics/iota-coin.mdx create mode 100644 docs/content/about-iota/tokenomics/iota-token.mdx create mode 100644 docs/content/about-iota/tokenomics/smr-token.mdx rename docs/content/{about-iota/iota-architecture => operator}/images/indexer-arch.png (100%) create mode 100644 docs/content/operator/indexer-functions.mdx rename docs/content/{about-iota => operator}/telemetry/iota-metrics.mdx (100%) create mode 100644 docs/content/operator/telemetry/iota-telemetry.mdx rename docs/content/{about-iota => operator}/telemetry/telemetry-subscribers.mdx (100%) rename docs/content/{about-iota => references}/research-papers.mdx (100%) diff --git a/docs/content/about-iota/about-iota.mdx b/docs/content/about-iota/about-iota.mdx index fef99b9b06d..a306cac3b35 100644 --- a/docs/content/about-iota/about-iota.mdx +++ b/docs/content/about-iota/about-iota.mdx @@ -1,37 +1,57 @@ --- -title: IOTA Concepts Overview -sidebar_label: Overview +title: About IOTA --- -IOTA is different than other blockchains. The concepts explored in this section provide a background to the IOTA blockchain and web3 in general. -## Move +The name IOTA is the ninth letter of the Greek alphabet (Ι, ι) and is used figuratively in English to mean a very small amount, reflecting its status as one of the smallest Greek letters. + +When you read about IOTA in this documentation, it's referencing all the pieces of the system that comprise the blockchain. This includes the blockchain itself, its various networks (Mainnet, for example), the activity on the blockchain (transaction blocks), the distributed entities that verify this activity (validators), and the Full nodes that execute transaction blocks. The documentation refers to the entirety of these elements as the IOTA platform, or simply IOTA. + +## The IOTA blockchain + +IOTA is defined as a Layer 1 protocol blockchain. In basic terms, this means that IOTA performs its own consensus and validation for transaction blocks (activity) on its networks using its own native token (IOTA, in this case). Ethereum (ETH) and Bitcoin (BTC) are other examples of Layer 1 blockchains. + +Layer 2 blockchains, by contrast, leverage the infrastructure of Layer 1 networks, relying on the Layer 1 blockchain to finalize transaction blocks. Polygon (MATIC) is an example of a Layer 2 blockchain that extends Ethereum. + +## IOTA tokens + +The native token for the IOTA network is IOTA. Transaction blocks on IOTA often deal with small fractions of the value of one IOTA. To make these transaction blocks easier to work with, IOTA provides NANOS. It takes one billion NANOS to equal one IOTA. + +It costs money to provide computational power to process transaction blocks and store their results. The term for the cost of processing transaction blocks is "gas". You pay for gas and the cost of storing data with a blockchain's native tokens, in this case, IOTA (or NANOS). + +To learn more about the tokenomics of IOTA, see the following topics: - - - - - - +- [IOTA Tokenomics](./tokenomics.mdx) +- [IOTA Token](./tokenomics/iota-token.mdx) +- [Gas in IOTA](./tokenomics/gas-in-iota.mdx) -## Objects +## Delegated proof-of-stake consensus - - - - - +IOTA uses a delegated proof-of-stake (DPoS) consensus mechanism to validate on-chain transaction blocks. This means that validators on the IOTA network must have a certain amount of IOTA secured on IOTA Mainnet, either with their own funds or in partnership with IOTA Foundation, to prove their interest in the security of the blockchain. This approach aligns the interest of all validators with that of IOTA users (an efficient, secure blockchain), without the high energy-resource demands of earlier blockchains. -## Cryptography +To learn more about consensus on IOTA, see the following guides and topics: - - - +- [Validator Committee](../operator/validator-committee.mdx) +- [IOTA Full Node Data Management](../operator/data-management.mdx) + + + +## IOTA networks + +IOTA has several networks available, each serving a different purpose. + +- **Mainnet:** The network that processes production transaction blocks. When you trade IOTA or NFTs that are ultimately based on fiat currency, you are doing so on the Mainnet network of IOTA. +- **Testnet:** Staging network to provide quality assurance that any planned changes to IOTA do not adversely impact performance. Developers can use this network to test their code before placing it in production. +- **Devnet:** A more unstable network that is used to develop new features. Developers can leverage this network to code against the latest planned features of IOTA. +- **Localnet:** You can run an IOTA network on your local computer. Developing on a local network provides an optimized workflow in an environment you control. + +To learn more about these networks and how to interact with them, see the following guides: + +- [Create a Local IOTA Network](../developer/getting-started/local-network.mdx) +- [Connect to IOTA](../developer/getting-started/connect.mdx) + +## Move -## Tokenomics +The Move language provides the logic for all activity on IOTA, like trading NFTs, playing IOTA-integrated games (dApps), and all other transaction-based events. The IOTA platform uses a concept novel to earlier blockchains, where blocks on the chain are actually objects that define assets rather than simple key-value stores that define addresses. The increased programmability inherent with objects required a more robust logic engine to maximize the benefits of this new approach to blockchain technology. - - - - - +To learn more about Move, see [Move Concepts](../developer/iota-101/iota-move-concepts/iota-move-concepts.mdx). diff --git a/docs/content/about-iota/components.mdx b/docs/content/about-iota/components.mdx deleted file mode 100644 index 9a9b7f013b4..00000000000 --- a/docs/content/about-iota/components.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: IOTA Components ---- - -The name IOTA is the ninth letter of the Greek alphabet (Ι, ι) and is used figuratively in English to mean a very small amount, reflecting its status as one of the smallest Greek letters. - -When you read about IOTA in this documentation, it's referencing all the pieces of the system that comprise the blockchain. This includes the blockchain itself, its various networks (Mainnet, for example), the activity on the blockchain (transaction blocks), the distributed entities that verify this activity (validators), and the Full nodes that execute transaction blocks. The documentation refers to the entirety of these elements as the IOTA platform, or simply IOTA. - -## The IOTA blockchain - -IOTA is defined as a Layer 1 protocol blockchain. In basic terms, this means that IOTA performs its own consensus and validation for transaction blocks (activity) on its networks using its own native token (IOTA, in this case). Ethereum (ETH) and Bitcoin (BTC) are other examples of Layer 1 blockchains. - -Layer 2 blockchains, by contrast, leverage the infrastructure of Layer 1 networks, relying on the Layer 1 blockchain to finalize transaction blocks. Polygon (MATIC) is an example of a Layer 2 blockchain that extends Ethereum. - -## IOTA tokens - -The native token for the IOTA network is IOTA. Whenever the documentation mentions IOTA (all uppercase letters), it's referring to this token. Transaction blocks on IOTA often deal with small fractions of the value of one IOTA. To make these transaction blocks easier to work with, IOTA provides NANOS. It takes one billion NANOS to equal one IOTA. - -There is a cost associated with everything, and blockchain transactions are no exception. It costs money to provide computational power to process transaction blocks and store their results. The term for the cost of processing transaction blocks is "gas". You pay for gas and the cost of storing data with a blockchain's native tokens, in this case, IOTA (or NANOS). - -To learn more about the tokenomics of IOTA, see the following topics: - -- [IOTA Tokenomics](./tokenomics.mdx) -- [IOTA Token](./tokenomics/iota-coin.mdx) -- [Gas in IOTA](./tokenomics/gas-in-iota.mdx) - -## Delegated proof-of-stake consensus - -IOTA uses a delegated proof-of-stake (DPoS) consensus mechanism to validate on-chain transaction blocks. This means that validators on the IOTA network must have a certain amount of IOTA secured on IOTA Mainnet, either with their own funds or in partnership with IOTA Foundation, to prove their interest in the security of the blockchain. This approach aligns the interest of all validators with that of IOTA users (an efficient, secure blockchain), without the high energy-resource demands of earlier blockchains. - -To learn more about consensus on IOTA, see the following guides and topics: - -- [Validator Committee](../operator/validator-committee.mdx) -- [IOTA Full Node Data Management](../operator/data-management.mdx) - - - -## IOTA networks - -IOTA has several networks available, each serving a different purpose. - -- **Mainnet:** The network that processes production transaction blocks. When you trade IOTA or NFTs that are ultimately based on fiat currency, you are doing so on the Mainnet network of IOTA. -- **Testnet:** Staging network to provide quality assurance that any planned changes to IOTA do not adversely impact performance. Developers can use this network to test their code before placing it in production. -- **Devnet:** A more unstable network that is used to develop new features. Developers can leverage this network to code against the latest planned features of IOTA. -- **Localnet:** You can run an IOTA network on your local computer. Developing on a local network provides an optimized workflow in an environment you control. - -To learn more about these networks and how to interact with them, see the following guides: - -- [Create a Local IOTA Network](../developer/getting-started/local-network.mdx) -- [Connect to IOTA](../developer/getting-started/connect.mdx) - -## Move - -The Move language provides the logic for all activity on IOTA, like trading NFTs, playing IOTA-integrated games (dApps), and all other transaction-based events. The IOTA platform uses a concept novel to earlier blockchains, where blocks on the chain are actually objects that define assets rather than simple key-value stores that define addresses. The increased programmability inherent with objects required a more robust logic engine to maximize the benefits of this new approach to blockchain technology. - -To learn more about Move, see [Move Concepts](../developer/iota-101/iota-move-concepts/iota-move-concepts.mdx). diff --git a/docs/content/about-iota/iota-architecture.mdx b/docs/content/about-iota/iota-architecture.mdx index 31bb8908870..b45075c132f 100644 --- a/docs/content/about-iota/iota-architecture.mdx +++ b/docs/content/about-iota/iota-architecture.mdx @@ -22,12 +22,6 @@ Narwhal and Bullshark combine to form the basis of the IOTA mempool and consensu Go to [Mempool and Consensus Engines](./iota-architecture/consensus.mdx). -## IOTA Indexer - -Running an IOTA indexer offloads data processing from your Full node and stores it in a relational database. This topic explores some of the benefits running an indexer has and points to instruction on how to run your own. - -Go to [IOTA Indexer](./iota-architecture/indexer-functions.mdx). - ## Protocol Upgrades The IOTA protocol, framework, and execution engine are frequently extended to include new functionality and bug fixes. This functionality is added in the form of new code which is released to validator operators as part of our regular software releases. The IOTA protocol, however, requires that all IOTA validators agree about the results of executing each transaction. diff --git a/docs/content/about-iota/iota-architecture/consensus.mdx b/docs/content/about-iota/iota-architecture/consensus.mdx index 378f8590709..908b135e8f9 100644 --- a/docs/content/about-iota/iota-architecture/consensus.mdx +++ b/docs/content/about-iota/iota-architecture/consensus.mdx @@ -1,6 +1,6 @@ --- title: IOTA Mempool and Consensus Engines -sidebar_label: Mempool and Consensus Engines +sidebar_label: Mempool and Consensus description: Overview of the IOTA mempool and consensus engines, Narwhal and Bullshark. --- @@ -80,7 +80,7 @@ Narwhal is implemented using [Tokio](https://github.com/tokio-rs/tokio), [RocksD ## Configuration -To conduct a fresh deployment of IOTA Consensus Engine, follow the instructions at [Running Benchmarks](https://github.com/iotaledger/iota/blob/main/narwhal/benchmark). +To conduct a fresh deployment of IOTA Consensus Engine, follow the instructions at [Running Benchmarks](https://github.com/iotaledger/iota/blob/develop/narwhal/benchmark). ## Further reading diff --git a/docs/content/about-iota/iota-architecture/indexer-functions.mdx b/docs/content/about-iota/iota-architecture/indexer-functions.mdx deleted file mode 100644 index ad2319a7ecb..00000000000 --- a/docs/content/about-iota/iota-architecture/indexer-functions.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: IOTA Indexer -description: IOTA Indexer is an off-Full node data service that serves data from the IOTA protocol, including both data directly generated from chain and derivative data. ---- - -IOTA Indexer is an off-Full node data service that serves data from the IOTA protocol, including both data directly generated from chain and derivative data. - -![Indexer architecture](./images/indexer-arch.png) - -## Functions - -IOTA Indexer provides three main functionalities: -- Ingest data from a Full node to a relational database. Data on Full nodes is stored as BCS bytes in embedded RocksDB, thus the query capabilities are very limited. The indexer pulls checkpoint blob data, schematizing them into various tables like objects, transactions, and so on with proper indices. -- Serve online transaction processing (OLTP) RPC requests. With data in relational databases, IOTA indexer spins a stateless reader binary as JSON RPC server with an [interface](/references/iota-api). -- Analytical indexer. Other than OLTP data ingestion and requests, indexer also supports some analytical data ingestion like transactions per second (TPS) and daily active user (DAU) metrics. - -## Run an indexer - -Refer to the [IOTA Indexer README](https://github.com/iotaledger/iota/tree/develop/crates/iota-indexer) to run an indexer with a local or managed Postgres-compatible database. \ No newline at end of file diff --git a/docs/content/about-iota/iota-architecture/iota-security.mdx b/docs/content/about-iota/iota-architecture/iota-security.mdx index 4df63441be3..f14436992ab 100644 --- a/docs/content/about-iota/iota-architecture/iota-security.mdx +++ b/docs/content/about-iota/iota-architecture/iota-security.mdx @@ -1,5 +1,5 @@ --- -title: Understand IOTA Security +title: Security description: IOTA is designed to provide very high security guarantees to asset owners. Assets on IOTA can be used only by their owners, according to the logic pre-defined by smart contracts that can be audited, and that the network will be available to process them correctly despite some of the validators operating IOTA not following the protocol correctly (fault tolerance). --- @@ -64,7 +64,3 @@ IOTA uses the established Delegated Proof-of Stake model to periodically determi Validators operate the network and provide rewards to users that stake their IOTA to support them as validators, through gas fee income. Validators with poor reliability, and in turn the users that delegated their stake to them, may receive a lower reward. But user stake cannot be confiscated away either by malicious validators or anyone in the network. This mechanism ensures that validators are accountable to IOTA users and can be rotated out at the first sign of unreliability or misbehavior, including noticed attempts to censor valid transactions. Through choices of validators, and the protocol they are willing to operate, IOTA users also have a meaningful say on the future evolution of the IOTA system. - -## Further reading {#further-reading} - -If you are looking for an in-depth technical explanation of the computer science behind IOTA security, you may have a look at our white paper on the [IOTA Smart Contracts Platform](/doc/iota.pdf). diff --git a/docs/content/about-iota/tokenomics.mdx b/docs/content/about-iota/tokenomics.mdx index 133611be281..7fd6bf09212 100644 --- a/docs/content/about-iota/tokenomics.mdx +++ b/docs/content/about-iota/tokenomics.mdx @@ -17,9 +17,9 @@ Three main types of participants characterize the IOTA economy: ## Core components -The IOTA economy is composed of five core components: +The IOTA economy is composed of four core components: -- **[IOTA](./tokenomics/iota-coin.mdx):** The IOTA token is the IOTA platform native asset. +- **[IOTA](./tokenomics/iota-token.mdx):** The IOTA token is the IOTA platform native asset. - **[Gas fees](./tokenomics/gas-in-iota.mdx):** Gas fees are charged on all network operations and used to reward participants of the proof-of-stake mechanism and prevent spam and denial-of-service attacks. - **[Proof-of-stake](./tokenomics/proof-of-stake.mdx):** The delegated proof-of-stake mechanism is used to select, incentivize, and reward honest behavior by IOTA Validators and the IOTA owners that stake with them. - **Voting:** On-chain voting is used for governance and protocol upgrades. diff --git a/docs/content/about-iota/tokenomics/iota-coin.mdx b/docs/content/about-iota/tokenomics/iota-coin.mdx deleted file mode 100644 index ed74fa24cb9..00000000000 --- a/docs/content/about-iota/tokenomics/iota-coin.mdx +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: IOTA Coin -description: The native asset on IOTA is called IOTA. The coin uses the capitalized version of IOTA to distinguish the coin from the IOTA network. ---- - -The native asset on IOTA is called IOTA. The coin uses the capitalized version of IOTA to distinguish the coin from the IOTA network. - -At Mainnet launch, **4,600,000,000** IOTA coins were minted, a portion of which will vest over the coming years, or distributed as future stake reward subsidies. -There is no maximum supply of IOTA - the total supply will increase over time through a given certain inflation rate. - -The IOTA coin serves four purposes on the IOTA network: - -- You can stake IOTA to participate in the proof-of-stake mechanism. -- IOTA is the asset denomination needed to pay the gas fees required to execute and store transactions or other operations on the IOTA network. -- You can use IOTA as a versatile and liquid asset for various applications, including the standard features of money - a unit of account, a medium of exchange, or a store of value - and more complex functionality smart contracts enable, interoperability, and composability across the IOTA ecosystem. -- IOTA coins play an important role in governance by acting as a right to participate in on-chain voting on issues such as protocol upgrades. - -The tokenomics must support all economic activities to scale as more and more people migrate to the IOTA platform. In addition, the presence of storage deposits creates important monetary dynamics, reducing the amount of IOTA in circulation. diff --git a/docs/content/about-iota/tokenomics/iota-token.mdx b/docs/content/about-iota/tokenomics/iota-token.mdx new file mode 100644 index 00000000000..0640c2cf292 --- /dev/null +++ b/docs/content/about-iota/tokenomics/iota-token.mdx @@ -0,0 +1,26 @@ +--- +title: IOTA Token +description: The native asset on IOTA is called IOTA. +--- + +The native asset on IOTA is called IOTA. + +At Mainnet launch, **4,600,000,000** IOTA tokens were minted, a portion of which will vest over the coming years, or distributed as future stake reward subsidies. +There is no maximum supply of IOTA - the total supply will increase over time through a given certain inflation rate. + +:::info Decimals + +The amount of decimals for the IOTA token has changed from **6** to **9** with this release, any balance from the Stardust network has been migrated and multiplied by 1000 to accomodate. + +::: + +The IOTA token serves four purposes on the IOTA network: + +- You can stake IOTA to participate in the proof-of-stake mechanism. +- IOTA is the asset denomination needed to pay the gas fees required to execute and store transactions or other operations on the IOTA network. +- You can use IOTA as a versatile and liquid asset for various applications, including the standard features of money - a unit of account, a medium of exchange, or a store of value - and more complex functionality smart contracts enable, interoperability, and composability across the IOTA ecosystem. +- IOTA tokens play an important role in governance by acting as a right to participate in on-chain voting on issues such as protocol upgrades. + +The tokenomics must support all economic activities to scale as more and more people migrate to the IOTA platform. In addition, the presence of storage deposits creates important monetary dynamics, reducing the amount of IOTA in circulation. + +All original IOTA Tokens are represented as a `0x2::iota::IOTA` type of object on IOTA Rebased, accessible on the same (Hex format) addresses from the Stardust based network, accessible with the same keys from the Shimmer Network. No manual migration is needed to access these tokens. diff --git a/docs/content/about-iota/tokenomics/smr-token.mdx b/docs/content/about-iota/tokenomics/smr-token.mdx new file mode 100644 index 00000000000..7df887c431f --- /dev/null +++ b/docs/content/about-iota/tokenomics/smr-token.mdx @@ -0,0 +1,15 @@ +--- +title: Shimmer Token (SMR) +menu_title: SMR Token +description: The former Shimmer network native asset (SMR) is also represented on the IOTA network now. +--- + +The SMR token, the native asset of the former Shimmer Network, has been migrated to IOTA Rebased as well; Making both IOTA and SMR available on the same network. + +A total amount of **1,813,620,509** SMR tokens were minted as part of the initial token distribution, with no further supply increase or inflation. SMR Tokens are represented with 6 decimals, just like on the previous Shimmer network. + +Unlike on the Shimmer network the SMR token can no longer be used to pay for fees, all fees are paid for in IOTA on the IOTA Rebased network. + +All original SMR Tokens are represented as a `0x2::smr::SMR` type of object on IOTA rebased, accessible on the same (Hex format) addresses from the Shimmer Network, accessible with the same keys from the Shimmer Network. No manual migration is needed to access these tokens. + +The ShimmerEVM has also been migrated to the IOTA Network and remains active there. \ No newline at end of file diff --git a/docs/content/about-iota/iota-architecture/images/indexer-arch.png b/docs/content/operator/images/indexer-arch.png similarity index 100% rename from docs/content/about-iota/iota-architecture/images/indexer-arch.png rename to docs/content/operator/images/indexer-arch.png diff --git a/docs/content/operator/indexer-functions.mdx b/docs/content/operator/indexer-functions.mdx new file mode 100644 index 00000000000..04962a4ba3d --- /dev/null +++ b/docs/content/operator/indexer-functions.mdx @@ -0,0 +1,19 @@ +--- +title: IOTA Indexer +description: IOTA Indexer is a node data service that serves data from the IOTA protocol, including both data directly generated from chain and derivative data. +--- + +The IOTA Indexer is a node data service that serves data from the IOTA protocol, including both data directly generated from chain and derivative data. + +![Indexer architecture](./images/indexer-arch.png) + +## Functions + +The IOTA Indexer provides three main functionalities: +- Ingest data from a Full node to a relational database. Data on Full nodes is stored as BCS bytes in an embedded RocksDB database, thus the query capabilities are very limited. The indexer pulls chekpoint blob data, schematizing them into various tables like objects, transactions, and so on, with proper indices. +- Serve online transaction processing (OLTP) RPC requests. With data in relational databases, IOTA indexer spins a stateless reader binary as JSON RPC server with an [interface](/references/iota-api). +- Other than OLTP data ingestion and requests, the Indexer also supports some analytical data ingestion like transactions per second (TPS) and daily active user (DAU) metrics. + +## Run an indexer + +Refer to the [IOTA Indexer README](https://github.com/iotaledger/iota/tree/develop/crates/iota-indexer) to run an indexer with a local or managed Postgres-compatible database. \ No newline at end of file diff --git a/docs/content/about-iota/telemetry/iota-metrics.mdx b/docs/content/operator/telemetry/iota-metrics.mdx similarity index 100% rename from docs/content/about-iota/telemetry/iota-metrics.mdx rename to docs/content/operator/telemetry/iota-metrics.mdx diff --git a/docs/content/operator/telemetry/iota-telemetry.mdx b/docs/content/operator/telemetry/iota-telemetry.mdx new file mode 100644 index 00000000000..14f19ff1a3b --- /dev/null +++ b/docs/content/operator/telemetry/iota-telemetry.mdx @@ -0,0 +1,41 @@ +--- +title: Telemetry +description: Collects data from the node and sends it to Google Analytics for monitoring and analysis. +--- + +The `iota-telemetry` crate is used to collect data from a node, package it into structured events and send it to Google +Analytics (GA). It uses the GA4 Measurement Protocol, which allows backends to send custom event data to track node +performance and other metrics. +Access to the telemetry data is restricted to users with appropriate permissions in the GA account. + +## Constants + +The library defines following constants: +- `GA_API_SECRET`: The API secret for authenticating with GA. +- `GA_EVENT_NAME`: The name of the telemetry event being tracked. +- `GA_MEASUREMENT_ID`: The measurement ID for the GA property. +- `GA_URL`: The endpoint URL for sending data to GA. +- `HARDCODED_CLIENT_ID`: A hardcoded client ID required for the GA4 Measurement Protocol. +- `IPLOOKUP_URL`: The URL used to retrieve the node's public IP address. +- `UNKNOWN_STRING`: A fallback string used when data retrieval fails. + +## Data Types + +To organize the telemetry data that is to be sent: +- `TelemetryEvent`: Represents a single event with a name and a set of parameters. +- `TelemetryPayload`: Represents the payload to be sent, containing a client ID and a list of telemetry events. +- `IpResponse: Represents` the structure of the IP lookup service response. + +## Sending the Event + +The `send_telemetry_event` function collects the data from an `AuthorityState`. +It retrieves: +* The current git revision using `env!("CARGO_PKG_VERSION")`. +* The public IP address by calling the `get_ip` helper function. + * The `get_ip` function retrieves the node's public IP address by making a GET request to `https://api.ipify.org`. If the request fails, it returns the `UNKNOWN_STRING` constant. +* The chain identifier from the node state. +* The epoch time. + +After retrieving all data, `send_telemetry_event` constructs a `TelemetryEvent` and wraps it into +a `TelemetryPayload` type containing the hardcoded client ID. Then, the payload will be sent to GA as an HTTP POST request +with content type JSON, which can be visualized and analyzed in the GA dashboard. diff --git a/docs/content/about-iota/telemetry/telemetry-subscribers.mdx b/docs/content/operator/telemetry/telemetry-subscribers.mdx similarity index 100% rename from docs/content/about-iota/telemetry/telemetry-subscribers.mdx rename to docs/content/operator/telemetry/telemetry-subscribers.mdx diff --git a/docs/content/about-iota/research-papers.mdx b/docs/content/references/research-papers.mdx similarity index 100% rename from docs/content/about-iota/research-papers.mdx rename to docs/content/references/research-papers.mdx diff --git a/docs/content/sidebars/about-iota.js b/docs/content/sidebars/about-iota.js index 63d3dac0cab..6f87c49b0d4 100644 --- a/docs/content/sidebars/about-iota.js +++ b/docs/content/sidebars/about-iota.js @@ -4,7 +4,6 @@ const aboutIota = [ 'about-iota/about-iota', - 'about-iota/components', { type: 'category', label: 'IOTA Architecture', @@ -17,21 +16,11 @@ const aboutIota = [ 'about-iota/iota-architecture/iota-security', 'about-iota/iota-architecture/transaction-lifecycle', 'about-iota/iota-architecture/consensus', - 'about-iota/iota-architecture/indexer-functions', 'about-iota/iota-architecture/epochs', 'about-iota/iota-architecture/protocol-upgrades', 'about-iota/iota-architecture/staking-rewards', ], }, - { - type: 'category', - label: 'Execution Architecture', - items: [ - 'about-iota/execution-architecture/iota-execution', - 'about-iota/execution-architecture/adapter', - 'about-iota/execution-architecture/natives', - ], - }, { type: 'category', label: 'Tokenomics', @@ -41,22 +30,29 @@ const aboutIota = [ id: 'about-iota/tokenomics', }, items: [ + 'about-iota/tokenomics/iota-token', + 'about-iota/tokenomics/smr-token', 'about-iota/tokenomics/proof-of-stake', 'about-iota/tokenomics/validators-staking', 'about-iota/tokenomics/staking-unstaking', - 'about-iota/tokenomics/iota-coin', - 'about-iota/tokenomics/gas-pricing', 'about-iota/tokenomics/gas-in-iota', + 'about-iota/tokenomics/gas-pricing', ], }, { type: 'category', - label: 'Node Monitoring and Metrics', + label: 'Expert topics', items: [ - 'about-iota/telemetry/telemetry-subscribers', - 'about-iota/telemetry/iota-metrics', + { + type: 'category', + label: 'Execution Architecture', + items: [ + 'about-iota/execution-architecture/iota-execution', + 'about-iota/execution-architecture/adapter', + 'about-iota/execution-architecture/natives', + ], + }, ], }, - 'about-iota/research-papers', ]; module.exports = aboutIota; diff --git a/docs/content/sidebars/developer.js b/docs/content/sidebars/developer.js index 2cf8c6df412..9d1f072e7df 100644 --- a/docs/content/sidebars/developer.js +++ b/docs/content/sidebars/developer.js @@ -3,251 +3,255 @@ // SPDX-License-Identifier: Apache-2.0 const developer = [ - 'developer/developer', - { - type: 'category', - label: 'Getting Started', - collapsed: false, - link: { - type: 'doc', - id: 'developer/getting-started', - }, - items: [ - 'developer/getting-started/iota-environment', - 'developer/getting-started/iota-install', - 'developer/getting-started/connect', - 'developer/getting-started/local-network', - 'developer/getting-started/get-address', - 'developer/getting-started/get-coins', - //'developer/getting-started/graphql-rpc', - { - type: 'category', - label: 'Your First IOTA dApp', - collapsed: false, - link: { - type: 'doc', - id: 'developer/getting-started/first-app/first-app', - }, - items: [ - 'developer/getting-started/first-app/write-package', - 'developer/getting-started/first-app/build-test', - 'developer/getting-started/first-app/publish', - 'developer/getting-started/first-app/debug', - 'developer/getting-started/first-app/client-tssdk', - ], - }, - ], - }, - { - type: 'category', - label: 'From Solidity/EVM to Move', - collapsed: true, - link: { - type: 'doc', - id: 'developer/evm-to-move', - }, - items: [ - 'developer/evm-to-move/why-move', - 'developer/evm-to-move/tooling-apis', - 'developer/evm-to-move/creating-token', - 'developer/evm-to-move/creating-nft', - ], - }, - { - type: 'category', - label: 'IOTA 101', - link: { - type: 'doc', - id: 'developer/iota-101', - }, - items: [ - { - type: 'category', - label: 'Move Overview',link: { - type: 'doc', - id: 'developer/iota-101/iota-move-concepts/iota-move-concepts', - }, - items: [ - 'developer/iota-101/iota-move-concepts/strings', - 'developer/iota-101/iota-move-concepts/collections', - 'developer/iota-101/iota-move-concepts/init', - 'developer/iota-101/iota-move-concepts/entry-functions', - 'developer/iota-101/iota-move-concepts/one-time-witness', - { - type: 'category', - label: 'Package Upgrades', - link: { - type: 'doc', - id: 'developer/iota-101/iota-move-concepts/packages/packages', - }, - items: [ - 'developer/iota-101/iota-move-concepts/packages/upgrade', - 'developer/iota-101/iota-move-concepts/packages/custom-policies', - ], - }, - { - type: 'category', - label: 'Patterns', - link: { - type: 'doc', - id: 'developer/iota-101/iota-move-concepts/patterns', - }, - items: [ - 'developer/iota-101/iota-move-concepts/patterns/capabilities', - 'developer/iota-101/iota-move-concepts/patterns/witness', - 'developer/iota-101/iota-move-concepts/patterns/transferrable-witness', - 'developer/iota-101/iota-move-concepts/patterns/hot-potato', - 'developer/iota-101/iota-move-concepts/patterns/id-pointer', - ], - }, - 'developer/iota-101/iota-move-concepts/conventions', - ], - }, - //'developer/graphql-rpc', - { - type: 'category', - label: 'Object Model', - 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', - ], - }, - { - 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', - ] - }, - { - type: 'category', - label: 'Transactions', - link: { - type: 'doc', - id: 'developer/iota-101/transactions/transactions', - }, - items:[ - 'developer/iota-101/transactions/sign-and-send-txn', - { - type:'category', - label: 'Sponsored Transactions', - link: { - type: 'doc', - id: 'developer/iota-101/transactions/sponsor-txn', - }, - items:['developer/iota-101/transactions/sponsored-transactions'] - }, - 'developer/iota-101/transactions/gas-smashing', - { - type: 'category', - label: 'Working with PTBs', - items: [ - 'developer/iota-101/transactions/ptb/prog-txn-blocks', - 'developer/iota-101/transactions/ptb/building-ptb', - 'developer/iota-101/transactions/ptb/coin-mgt', - 'developer/iota-101/transactions/ptb/simulating-refs', - ], - }, - ] - }, - { - type: 'category', - label: 'Create Coins and Tokens', - link: { - type: 'doc', - id: 'developer/iota-101/create-coin/create-coin', - }, - items: [ - 'developer/iota-101/create-coin/regulated', - 'developer/iota-101/create-coin/in-game-token', - 'developer/iota-101/create-coin/loyalty', - ], - }, - 'developer/iota-101/create-nft', - 'developer/iota-101/using-events', - 'developer/iota-101/access-time', - ], - }, - { - type: 'category', - label: 'Cryptography', - link: { - type: 'doc', - id:'developer/cryptography/explanations/cryptography', - }, - items: [ - { - type: 'category', - label: 'Explanations', - items: [ - 'developer/cryptography/explanations/cryptography', - { - type: 'category', - label: 'Transaction Authentication', - link: { - type: 'doc', - id: 'developer/cryptography/explanations/transaction-auth', - }, - items: [ - 'developer/cryptography/explanations/transaction-auth/keys-addresses', - 'developer/cryptography/explanations/transaction-auth/signatures', - 'developer/cryptography/explanations/transaction-auth/multisig', - 'developer/cryptography/explanations/transaction-auth/offline-signing', - 'developer/cryptography/explanations/transaction-auth/intent-signing', - ], - }, - 'developer/cryptography/explanations/system/checkpoint-verification', - ], - }, - { - type: 'category', - label: 'How To', - items: [ - 'developer/cryptography/how-to/cryptography', - 'developer/cryptography/how-to/signing', - 'developer/cryptography/how-to/groth16', - 'developer/cryptography/how-to/hashing', - 'developer/cryptography/how-to/ecvrf',] - } - ], - }, - { - type: 'category', - label: 'Advanced Topics', - link: { - type: 'doc', - id: 'developer/advanced', - }, - items: [ - /*{ + 'developer/developer', + { + type: 'category', + label: 'Getting Started', + collapsed: false, + link: { + type: 'doc', + id: 'developer/getting-started', + }, + items: [ + 'developer/getting-started/iota-environment', + 'developer/getting-started/iota-install', + 'developer/getting-started/connect', + 'developer/getting-started/local-network', + 'developer/getting-started/get-address', + 'developer/getting-started/get-coins', + //'developer/getting-started/graphql-rpc', + { + type: 'category', + label: 'Your First IOTA dApp', + collapsed: false, + link: { + type: 'doc', + id: 'developer/getting-started/first-app/first-app', + }, + items: [ + 'developer/getting-started/first-app/write-package', + 'developer/getting-started/first-app/build-test', + 'developer/getting-started/first-app/publish', + 'developer/getting-started/first-app/debug', + 'developer/getting-started/first-app/client-tssdk', + ], + }, + ], + }, + { + type: 'category', + label: 'From Solidity/EVM to Move', + collapsed: true, + link: { + type: 'doc', + id: 'developer/evm-to-move', + }, + items: [ + 'developer/evm-to-move/why-move', + 'developer/evm-to-move/tooling-apis', + 'developer/evm-to-move/creating-token', + 'developer/evm-to-move/creating-nft', + ], + }, + { + type: 'category', + label: 'IOTA 101', + link: { + type: 'doc', + id: 'developer/iota-101', + }, + items: [ + { + type: 'category', + label: 'Move Overview', + link: { + type: 'doc', + id: 'developer/iota-101/iota-move-concepts/iota-move-concepts', + }, + items: [ + 'developer/iota-101/iota-move-concepts/strings', + 'developer/iota-101/iota-move-concepts/collections', + 'developer/iota-101/iota-move-concepts/init', + 'developer/iota-101/iota-move-concepts/entry-functions', + 'developer/iota-101/iota-move-concepts/one-time-witness', + { + type: 'category', + label: 'Package Upgrades', + link: { + type: 'doc', + id: 'developer/iota-101/iota-move-concepts/packages/packages', + }, + items: [ + 'developer/iota-101/iota-move-concepts/packages/upgrade', + 'developer/iota-101/iota-move-concepts/packages/custom-policies', + ], + }, + { + type: 'category', + label: 'Patterns', + link: { + type: 'doc', + id: 'developer/iota-101/iota-move-concepts/patterns', + }, + items: [ + 'developer/iota-101/iota-move-concepts/patterns/capabilities', + 'developer/iota-101/iota-move-concepts/patterns/witness', + 'developer/iota-101/iota-move-concepts/patterns/transferrable-witness', + 'developer/iota-101/iota-move-concepts/patterns/hot-potato', + 'developer/iota-101/iota-move-concepts/patterns/id-pointer', + ], + }, + 'developer/iota-101/iota-move-concepts/conventions', + ], + }, + //'developer/graphql-rpc', + { + type: 'category', + label: 'Object Model', + 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', + ], + }, + { + 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', + ], + }, + { + type: 'category', + label: 'Transactions', + link: { + type: 'doc', + id: 'developer/iota-101/transactions/transactions', + }, + items: [ + 'developer/iota-101/transactions/sign-and-send-txn', + { + type: 'category', + label: 'Sponsored Transactions', + link: { + type: 'doc', + id: 'developer/iota-101/transactions/sponsor-txn', + }, + items: ['developer/iota-101/transactions/sponsored-transactions'], + }, + 'developer/iota-101/transactions/gas-smashing', + { + type: 'category', + label: 'Working with PTBs', + items: [ + 'developer/iota-101/transactions/ptb/prog-txn-blocks', + 'developer/iota-101/transactions/ptb/building-ptb', + 'developer/iota-101/transactions/ptb/coin-mgt', + 'developer/iota-101/transactions/ptb/simulating-refs', + ], + }, + ], + }, + { + type: 'category', + label: 'Create Coins and Tokens', + link: { + type: 'doc', + id: 'developer/iota-101/create-coin/create-coin', + }, + items: [ + 'developer/iota-101/create-coin/regulated', + 'developer/iota-101/create-coin/in-game-token', + 'developer/iota-101/create-coin/loyalty', + ], + }, + 'developer/iota-101/create-nft', + 'developer/iota-101/using-events', + 'developer/iota-101/access-time', + ], + }, + { + type: 'category', + label: 'Cryptography', + link: { + type: 'doc', + id: 'developer/cryptography/explanations/cryptography', + }, + items: [ + { + type: 'category', + label: 'Explanations', + items: [ + 'developer/cryptography/explanations/cryptography', + { + type: 'category', + label: 'Transaction Authentication', + link: { + type: 'doc', + id: 'developer/cryptography/explanations/transaction-auth', + }, + items: [ + 'developer/cryptography/explanations/transaction-auth/keys-addresses', + 'developer/cryptography/explanations/transaction-auth/signatures', + 'developer/cryptography/explanations/transaction-auth/multisig', + 'developer/cryptography/explanations/transaction-auth/offline-signing', + 'developer/cryptography/explanations/transaction-auth/intent-signing', + ], + }, + 'developer/cryptography/explanations/system/checkpoint-verification', + ], + }, + { + type: 'category', + label: 'How To', + items: [ + 'developer/cryptography/how-to/cryptography', + 'developer/cryptography/how-to/signing', + 'developer/cryptography/how-to/groth16', + 'developer/cryptography/how-to/hashing', + 'developer/cryptography/how-to/ecvrf', + ], + }, + ], + }, + { + type: 'category', + label: 'Advanced Topics', + link: { + type: 'doc', + id: 'developer/advanced', + }, + items: [ + /*{ type: 'category', label: 'Efficient Smart Contracts', link: { @@ -256,42 +260,42 @@ const developer = [ }, items: ['developer/advanced/min-gas-fees'], },*/ - //'developer/advanced/graphql-migration', - 'developer/advanced/move-2024-migration', - 'developer/advanced/asset-tokenization', - 'developer/advanced/custom-indexer', - 'developer/advanced/stardust-on-move', - ], - }, - { - type:'category', - label: 'Standards', - items: [ - 'developer/standards/standards', - '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', - ] - }, - 'developer/dev-cheat-sheet', + //'developer/advanced/graphql-migration', + 'developer/advanced/move-2024-migration', + 'developer/advanced/asset-tokenization', + 'developer/advanced/custom-indexer', + 'developer/advanced/stardust-on-move', + ], + }, + { + type: 'category', + label: 'Standards', + items: [ + 'developer/standards/standards', + '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', + ], + }, + 'developer/dev-cheat-sheet', { type: 'category', @@ -714,7 +718,7 @@ const developer = [ ], }, - { + { type: 'category', label: 'Migrating from IOTA/Shimmer Stardust', link: { @@ -736,15 +740,10 @@ const developer = [ ], }, - { - type:'category', + type: 'category', label: 'Exchange integration', - items:[ - 'developer/exchange-integration/exchange-integration', - - ] + items: ['developer/exchange-integration/exchange-integration'], }, -] -; +]; module.exports = developer; diff --git a/docs/content/sidebars/operator.js b/docs/content/sidebars/operator.js index 8b04fb949a6..d218ad09d23 100644 --- a/docs/content/sidebars/operator.js +++ b/docs/content/sidebars/operator.js @@ -10,9 +10,19 @@ const operator = [ 'operator/snapshots', 'operator/archives', 'operator/genesis', + 'operator/indexer-functions', 'operator/validator-committee', 'operator/validator-tasks', 'operator/node-tools', + { + type: 'category', + label: 'Node Monitoring and Metrics', + items: [ + 'operator/telemetry/telemetry-subscribers', + 'operator/telemetry/iota-metrics', + 'operator/telemetry/iota-telemetry', + ], + }, { type: 'category', label: 'IOTA EVM Network', diff --git a/docs/content/sidebars/references.js b/docs/content/sidebars/references.js index f94cba02111..3363aa57c19 100644 --- a/docs/content/sidebars/references.js +++ b/docs/content/sidebars/references.js @@ -3,21 +3,21 @@ // SPDX-License-Identifier: Apache-2.0 const references = [ - { - type: 'doc', - label: 'References', - id: 'references/references', - }, - { - type: 'category', - label: 'IOTA RPC', - collapsed: false, - link: { - type: 'doc', - id: 'references/iota-api', - }, - items: [ - /*{ + { + type: 'doc', + label: 'References', + id: 'references/references', + }, + { + type: 'category', + label: 'IOTA RPC', + collapsed: false, + link: { + type: 'doc', + id: 'references/iota-api', + }, + items: [ + /*{ type: 'category', label: 'GraphQL', link: { @@ -31,300 +31,301 @@ const references = [ }, ], },*/ - { - type: 'link', - label: 'JSON-RPC', - href: '/iota-api-ref', - }, - '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', - ], - }, - { - type: 'category', - label: 'IOTA SDKs', - collapsed: false, - link: { - type: 'doc', - id: 'references/iota-sdks', - }, - items: [ - { - type: 'link', - label: 'IOTA Go SDK', - href: 'https://github.com/block-vision/iota-go-sdk', - }, - { - type: 'link', - label: 'IOTA Python SDK', - href: 'https://github.com/FrankC01/pyiota', - }, - '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', - { - 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', - { - 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/useSignPersonalMessage', - 'references/ts-sdk/dapp-kit/wallet-hooks/useSignTransactionBlock', - 'references/ts-sdk/dapp-kit/wallet-hooks/useSignAndExecuteTransactionBlock', - ], - }, - '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/kiosk/from-v1', - ] - }, - 'references/ts-sdk/bcs', - ], - }, - ], - }, - { - type: 'category', - label: 'Move', - collapsed: false, - link: { - type: 'doc', - id: 'references/iota-move', - }, - items: [ - { - type: 'category', - label: 'Framework', - link: { - type: 'doc', - id: 'references/framework', - }, - items: [{ type: 'autogenerated', dirName: 'references/framework' }], - }, - 'references/move/move-toml', - 'references/move/move-lock', - { - type: 'link', - label: 'Move Language (GitHub)', - href: 'https://github.com/move-language/move/blob/main/language/documentation/book/src/introduction.md', - }, - ], - }, - { - type: 'category', - label: 'IOTA EVM', - items: [ - 'references/iota-evm/json-rpc-spec', - { - type: 'category', - label: 'Magic Contract', - items: [ - { - type: 'autogenerated', - dirName: 'references/iota-evm/magic-contract', - }, - ], - }, - { - type: 'category', - label: 'Core Contracts', - items: [ - { - type: 'doc', - label: 'Overview', - id: 'references/iota-evm/core-contracts/overview', - }, - { - type: 'doc', - label: 'root', - id: 'references/iota-evm/core-contracts/root', - }, - { - type: 'doc', - label: 'accounts', - id: 'references/iota-evm/core-contracts/accounts', - }, - { - type: 'doc', - label: 'blob', - id: 'references/iota-evm/core-contracts/blob', - }, - { - type: 'doc', - label: 'blocklog', - id: 'references/iota-evm/core-contracts/blocklog', - }, - { - type: 'doc', - label: 'governance', - id: 'references/iota-evm/core-contracts/governance', - }, - { - type: 'doc', - label: 'errors', - id: 'references/iota-evm/core-contracts/errors', - }, - { - type: 'doc', - label: 'EVM', - id: 'references/iota-evm/core-contracts/evm', - }, - ], - }, - { - type: 'category', - label: 'ISC Utilities', - items: [ - { - type: 'autogenerated', - dirName: 'references/iota-evm/iscutils', - }, - ], - }, - { - type: 'doc', - label: 'WasmLib Data Types', - id: 'references/iota-evm/wasm-lib-data-types', - }, - ], - }, - 'references/iota-glossary', - { - type: 'category', - label: 'Contribute', - link: { - type: 'doc', - id: 'references/contribute/contribution-process', - }, - items: [ - 'references/contribute/contribution-process', - 'references/contribute/contribute-to-iota-repos', - { - type: 'link', - label: 'Submit a SIP', - href: 'https://sips.iota.io', - }, - 'references/contribute/localize-iota-docs', - 'references/contribute/code-of-conduct', - 'references/contribute/style-guide', - ], - }, + { + type: 'link', + label: 'JSON-RPC', + href: '/iota-api-ref', + }, + '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', + ], + }, + { + type: 'category', + label: 'IOTA SDKs', + collapsed: false, + link: { + type: 'doc', + id: 'references/iota-sdks', + }, + items: [ + { + type: 'link', + label: 'IOTA Go SDK', + href: 'https://github.com/block-vision/iota-go-sdk', + }, + { + type: 'link', + label: 'IOTA Python SDK', + href: 'https://github.com/FrankC01/pyiota', + }, + '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', + { + 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', + { + 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/useSignPersonalMessage', + 'references/ts-sdk/dapp-kit/wallet-hooks/useSignTransactionBlock', + 'references/ts-sdk/dapp-kit/wallet-hooks/useSignAndExecuteTransactionBlock', + ], + }, + '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/kiosk/from-v1', + ], + }, + 'references/ts-sdk/bcs', + ], + }, + ], + }, + { + type: 'category', + label: 'Move', + collapsed: false, + link: { + type: 'doc', + id: 'references/iota-move', + }, + items: [ + { + type: 'category', + label: 'Framework', + link: { + type: 'doc', + id: 'references/framework', + }, + items: [{ type: 'autogenerated', dirName: 'references/framework' }], + }, + 'references/move/move-toml', + 'references/move/move-lock', + { + type: 'link', + label: 'Move Language (GitHub)', + href: 'https://github.com/move-language/move/blob/main/language/documentation/book/src/introduction.md', + }, + ], + }, + { + type: 'category', + label: 'IOTA EVM', + items: [ + 'references/iota-evm/json-rpc-spec', + { + type: 'category', + label: 'Magic Contract', + items: [ + { + type: 'autogenerated', + dirName: 'references/iota-evm/magic-contract', + }, + ], + }, + { + type: 'category', + label: 'Core Contracts', + items: [ + { + type: 'doc', + label: 'Overview', + id: 'references/iota-evm/core-contracts/overview', + }, + { + type: 'doc', + label: 'root', + id: 'references/iota-evm/core-contracts/root', + }, + { + type: 'doc', + label: 'accounts', + id: 'references/iota-evm/core-contracts/accounts', + }, + { + type: 'doc', + label: 'blob', + id: 'references/iota-evm/core-contracts/blob', + }, + { + type: 'doc', + label: 'blocklog', + id: 'references/iota-evm/core-contracts/blocklog', + }, + { + type: 'doc', + label: 'governance', + id: 'references/iota-evm/core-contracts/governance', + }, + { + type: 'doc', + label: 'errors', + id: 'references/iota-evm/core-contracts/errors', + }, + { + type: 'doc', + label: 'EVM', + id: 'references/iota-evm/core-contracts/evm', + }, + ], + }, + { + type: 'category', + label: 'ISC Utilities', + items: [ + { + type: 'autogenerated', + dirName: 'references/iota-evm/iscutils', + }, + ], + }, + { + type: 'doc', + label: 'WasmLib Data Types', + id: 'references/iota-evm/wasm-lib-data-types', + }, + ], + }, + 'references/research-papers', + 'references/iota-glossary', + { + type: 'category', + label: 'Contribute', + link: { + type: 'doc', + id: 'references/contribute/contribution-process', + }, + items: [ + 'references/contribute/contribution-process', + 'references/contribute/contribute-to-iota-repos', + { + type: 'link', + label: 'Submit a SIP', + href: 'https://sips.iota.io', + }, + 'references/contribute/localize-iota-docs', + 'references/contribute/code-of-conduct', + 'references/contribute/style-guide', + ], + }, ]; module.exports = references;