diff --git a/.source/index.ts b/.source/index.ts index f1ce832..181b10d 100644 --- a/.source/index.ts +++ b/.source/index.ts @@ -1,83 +1,83 @@ // @ts-nocheck -- skip type checking -import * as docs_78 from "../content/docs/general/nodes/full-node/run/deploy/source.mdx?collection=docs&hash=1759416502589" -import * as docs_77 from "../content/docs/general/nodes/full-node/run/deploy/index.mdx?collection=docs&hash=1759416502589" -import * as docs_76 from "../content/docs/general/nodes/full-node/run/deploy/docker.mdx?collection=docs&hash=1759416502589" -import * as docs_75 from "../content/docs/general/nodes/full-node/run/verify.mdx?collection=docs&hash=1759416502589" -import * as docs_74 from "../content/docs/general/nodes/full-node/run/index.mdx?collection=docs&hash=1759416502589" -import * as docs_73 from "../content/docs/devs/interactonchain/wallet-adapter/useWallet/signMessage.mdx?collection=docs&hash=1759416502589" -import * as docs_72 from "../content/docs/devs/interactonchain/wallet-adapter/useWallet/signAndSubmitTx.mdx?collection=docs&hash=1759416502589" -import * as docs_71 from "../content/docs/devs/interactonchain/wallet-adapter/useWallet/ConnectWallet.mdx?collection=docs&hash=1759416502589" -import * as docs_70 from "../content/docs/general/nodes/full-node/index.mdx?collection=docs&hash=1759416502589" -import * as docs_69 from "../content/docs/general/l1/nodes/validator-node.mdx?collection=docs&hash=1759416502589" -import * as docs_68 from "../content/docs/general/l1/nodes/validator-fullnode.mdx?collection=docs&hash=1759416502589" -import * as docs_67 from "../content/docs/general/l1/nodes/public-fullnode.mdx?collection=docs&hash=1759416502589" -import * as docs_66 from "../content/docs/general/l1/nodes/index.mdx?collection=docs&hash=1759416502589" -import * as docs_65 from "../content/docs/devs/interactonchain/wallet-adapter/connect_wallet.mdx?collection=docs&hash=1759416502589" -import * as docs_64 from "../content/docs/devs/interactonchain/wallet-adapter/aptos_wallet_standard.mdx?collection=docs&hash=1759416502589" -import * as docs_63 from "../content/docs/general/usingmovement/connect_to_movement.mdx?collection=docs&hash=1759416502589" -import * as docs_62 from "../content/docs/general/usingmovement/community-support.mdx?collection=docs&hash=1759416502589" -import * as docs_61 from "../content/docs/general/usingmovement/bridge.mdx?collection=docs&hash=1759416502589" -import * as docs_60 from "../content/docs/general/sidechain/whitepaper.mdx?collection=docs&hash=1759416502589" -import * as docs_59 from "../content/docs/general/sidechain/what-is-movement-sidechain.mdx?collection=docs&hash=1759416502589" -import * as docs_58 from "../content/docs/general/sidechain/node-level-architecture.mdx?collection=docs&hash=1759416502589" -import * as docs_57 from "../content/docs/general/sidechain/index.mdx?collection=docs&hash=1759416502589" -import * as docs_56 from "../content/docs/general/sidechain/architecture.mdx?collection=docs&hash=1759416502589" -import * as docs_55 from "../content/docs/general/nodes/index.mdx?collection=docs&hash=1759416502589" -import * as docs_54 from "../content/docs/general/networks/testnet.mdx?collection=docs&hash=1759416502589" -import * as docs_53 from "../content/docs/general/networks/mainnet.mdx?collection=docs&hash=1759416502589" -import * as docs_52 from "../content/docs/general/networks/index.mdx?collection=docs&hash=1759416502589" -import * as docs_51 from "../content/docs/general/networks/devnet.mdx?collection=docs&hash=1759416502589" -import * as docs_50 from "../content/docs/general/l1/what-is-movement-l1.mdx?collection=docs&hash=1759416502589" -import * as docs_49 from "../content/docs/general/l1/protocol-specification.mdx?collection=docs&hash=1759416502589" -import * as docs_48 from "../content/docs/general/l1/node-level-architecture.mdx?collection=docs&hash=1759416502589" -import * as docs_47 from "../content/docs/general/l1/move-language.md?collection=docs&hash=1759416502589" -import * as docs_46 from "../content/docs/general/l1/index.mdx?collection=docs&hash=1759416502589" -import * as docs_45 from "../content/docs/general/l1/architecture.mdx?collection=docs&hash=1759416502589" -import * as docs_44 from "../content/docs/devs/tutorials/uniswap_v2_example.mdx?collection=docs&hash=1759416502589" -import * as docs_43 from "../content/docs/devs/tutorials/stablecoin.mdx?collection=docs&hash=1759416502589" -import * as docs_42 from "../content/docs/devs/tutorials/move_slayers.mdx?collection=docs&hash=1759416502589" -import * as docs_41 from "../content/docs/devs/tutorials/deploy.mdx?collection=docs&hash=1759416502589" -import * as docs_40 from "../content/docs/devs/tutorials/build.mdx?collection=docs&hash=1759416502589" -import * as docs_39 from "../content/docs/devs/interactonchain/tsSdk.mdx?collection=docs&hash=1759416502589" -import * as docs_38 from "../content/docs/devs/interactonchain/rustSDK.mdx?collection=docs&hash=1759416502589" -import * as docs_37 from "../content/docs/devs/interactonchain/pythonSDK.mdx?collection=docs&hash=1759416502589" -import * as docs_36 from "../content/docs/api/node/wait_transaction_by_hash.mdx?collection=docs&hash=1759416502589" -import * as docs_35 from "../content/docs/api/node/view.mdx?collection=docs&hash=1759416502589" -import * as docs_34 from "../content/docs/api/node/submit_transaction.mdx?collection=docs&hash=1759416502589" -import * as docs_33 from "../content/docs/api/node/submit_batch_transactions.mdx?collection=docs&hash=1759416502589" -import * as docs_32 from "../content/docs/api/node/spec.mdx?collection=docs&hash=1759416502589" -import * as docs_31 from "../content/docs/api/node/simulate_transaction.mdx?collection=docs&hash=1759416502589" -import * as docs_30 from "../content/docs/api/node/healthy.mdx?collection=docs&hash=1759416502589" -import * as docs_29 from "../content/docs/api/node/get_transaction_by_version.mdx?collection=docs&hash=1759416502589" -import * as docs_28 from "../content/docs/api/node/get_transaction_by_hash.mdx?collection=docs&hash=1759416502589" -import * as docs_27 from "../content/docs/api/node/get_transactions.mdx?collection=docs&hash=1759416502589" -import * as docs_26 from "../content/docs/api/node/get_table_item.mdx?collection=docs&hash=1759416502589" -import * as docs_25 from "../content/docs/api/node/get_raw_table_item.mdx?collection=docs&hash=1759416502589" -import * as docs_24 from "../content/docs/api/node/get_ledger_info.mdx?collection=docs&hash=1759416502589" -import * as docs_23 from "../content/docs/api/node/get_events_by_event_handle.mdx?collection=docs&hash=1759416502589" -import * as docs_22 from "../content/docs/api/node/get_events_by_creation_number.mdx?collection=docs&hash=1759416502589" -import * as docs_21 from "../content/docs/api/node/get_block_by_version.mdx?collection=docs&hash=1759416502589" -import * as docs_20 from "../content/docs/api/node/get_block_by_height.mdx?collection=docs&hash=1759416502589" -import * as docs_19 from "../content/docs/api/node/get_account_transactions.mdx?collection=docs&hash=1759416502589" -import * as docs_18 from "../content/docs/api/node/get_account_resources.mdx?collection=docs&hash=1759416502589" -import * as docs_17 from "../content/docs/api/node/get_account_resource.mdx?collection=docs&hash=1759416502589" -import * as docs_16 from "../content/docs/api/node/get_account_modules.mdx?collection=docs&hash=1759416502589" -import * as docs_15 from "../content/docs/api/node/get_account_module.mdx?collection=docs&hash=1759416502589" -import * as docs_14 from "../content/docs/api/node/get_account.mdx?collection=docs&hash=1759416502589" -import * as docs_13 from "../content/docs/api/node/estimate_gas_price.mdx?collection=docs&hash=1759416502589" -import * as docs_12 from "../content/docs/api/node/encode_submission.mdx?collection=docs&hash=1759416502589" -import * as docs_11 from "../content/docs/general/index.mdx?collection=docs&hash=1759416502589" -import * as docs_10 from "../content/docs/devs/templates.mdx?collection=docs&hash=1759416502589" -import * as docs_9 from "../content/docs/devs/oracles.mdx?collection=docs&hash=1759416502589" -import * as docs_8 from "../content/docs/devs/networkEndpoints.mdx?collection=docs&hash=1759416502589" -import * as docs_7 from "../content/docs/devs/movementcli.mdx?collection=docs&hash=1759416502589" -import * as docs_6 from "../content/docs/devs/move2.mdx?collection=docs&hash=1759416502589" -import * as docs_5 from "../content/docs/devs/indexing.mdx?collection=docs&hash=1759416502589" -import * as docs_4 from "../content/docs/devs/index.mdx?collection=docs&hash=1759416502589" -import * as docs_3 from "../content/docs/devs/fullnode.mdx?collection=docs&hash=1759416502589" -import * as docs_2 from "../content/docs/devs/firstMoveContract.mdx?collection=docs&hash=1759416502589" -import * as docs_1 from "../content/docs/devs/faq.mdx?collection=docs&hash=1759416502589" -import * as docs_0 from "../content/docs/api/index.mdx?collection=docs&hash=1759416502589" +import * as docs_78 from "../content/docs/general/nodes/full-node/run/deploy/source.mdx?collection=docs&hash=1757487820750" +import * as docs_77 from "../content/docs/general/nodes/full-node/run/deploy/index.mdx?collection=docs&hash=1757487820750" +import * as docs_76 from "../content/docs/general/nodes/full-node/run/deploy/docker.mdx?collection=docs&hash=1757487820750" +import * as docs_75 from "../content/docs/general/nodes/full-node/run/verify.mdx?collection=docs&hash=1757487820750" +import * as docs_74 from "../content/docs/general/nodes/full-node/run/index.mdx?collection=docs&hash=1757487820750" +import * as docs_73 from "../content/docs/devs/interactonchain/wallet-adapter/useWallet/signMessage.mdx?collection=docs&hash=1757487820750" +import * as docs_72 from "../content/docs/devs/interactonchain/wallet-adapter/useWallet/signAndSubmitTx.mdx?collection=docs&hash=1757487820750" +import * as docs_71 from "../content/docs/devs/interactonchain/wallet-adapter/useWallet/ConnectWallet.mdx?collection=docs&hash=1757487820750" +import * as docs_70 from "../content/docs/general/nodes/full-node/index.mdx?collection=docs&hash=1757487820750" +import * as docs_69 from "../content/docs/general/l1/nodes/validator-node.mdx?collection=docs&hash=1757487820750" +import * as docs_68 from "../content/docs/general/l1/nodes/validator-fullnode.mdx?collection=docs&hash=1757487820750" +import * as docs_67 from "../content/docs/general/l1/nodes/public-fullnode.mdx?collection=docs&hash=1757487820750" +import * as docs_66 from "../content/docs/general/l1/nodes/index.mdx?collection=docs&hash=1757487820750" +import * as docs_65 from "../content/docs/devs/interactonchain/wallet-adapter/connect_wallet.mdx?collection=docs&hash=1757487820750" +import * as docs_64 from "../content/docs/devs/interactonchain/wallet-adapter/aptos_wallet_standard.mdx?collection=docs&hash=1757487820750" +import * as docs_63 from "../content/docs/general/usingmovement/connect_to_movement.mdx?collection=docs&hash=1757487820750" +import * as docs_62 from "../content/docs/general/usingmovement/community-support.mdx?collection=docs&hash=1757487820750" +import * as docs_61 from "../content/docs/general/usingmovement/bridge.mdx?collection=docs&hash=1757487820750" +import * as docs_60 from "../content/docs/general/sidechain/whitepaper.mdx?collection=docs&hash=1757487820750" +import * as docs_59 from "../content/docs/general/sidechain/what-is-movement-sidechain.mdx?collection=docs&hash=1757487820750" +import * as docs_58 from "../content/docs/general/sidechain/node-level-architecture.mdx?collection=docs&hash=1757487820750" +import * as docs_57 from "../content/docs/general/sidechain/index.mdx?collection=docs&hash=1757487820750" +import * as docs_56 from "../content/docs/general/sidechain/architecture.mdx?collection=docs&hash=1757487820750" +import * as docs_55 from "../content/docs/general/nodes/index.mdx?collection=docs&hash=1757487820750" +import * as docs_54 from "../content/docs/general/networks/testnet.mdx?collection=docs&hash=1757487820750" +import * as docs_53 from "../content/docs/general/networks/mainnet.mdx?collection=docs&hash=1757487820750" +import * as docs_52 from "../content/docs/general/networks/index.mdx?collection=docs&hash=1757487820750" +import * as docs_51 from "../content/docs/general/networks/devnet.mdx?collection=docs&hash=1757487820750" +import * as docs_50 from "../content/docs/general/l1/what-is-movement-l1.mdx?collection=docs&hash=1757487820750" +import * as docs_49 from "../content/docs/general/l1/protocol-specification.mdx?collection=docs&hash=1757487820750" +import * as docs_48 from "../content/docs/general/l1/node-level-architecture.mdx?collection=docs&hash=1757487820750" +import * as docs_47 from "../content/docs/general/l1/move-language.md?collection=docs&hash=1757487820750" +import * as docs_46 from "../content/docs/general/l1/index.mdx?collection=docs&hash=1757487820750" +import * as docs_45 from "../content/docs/general/l1/architecture.mdx?collection=docs&hash=1757487820750" +import * as docs_44 from "../content/docs/devs/tutorials/uniswap_v2_example.mdx?collection=docs&hash=1757487820750" +import * as docs_43 from "../content/docs/devs/tutorials/stablecoin.mdx?collection=docs&hash=1757487820750" +import * as docs_42 from "../content/docs/devs/tutorials/move_slayers.mdx?collection=docs&hash=1757487820750" +import * as docs_41 from "../content/docs/devs/tutorials/deploy.mdx?collection=docs&hash=1757487820750" +import * as docs_40 from "../content/docs/devs/tutorials/build.mdx?collection=docs&hash=1757487820750" +import * as docs_39 from "../content/docs/devs/interactonchain/tsSdk.mdx?collection=docs&hash=1757487820750" +import * as docs_38 from "../content/docs/devs/interactonchain/rustSDK.mdx?collection=docs&hash=1757487820750" +import * as docs_37 from "../content/docs/devs/interactonchain/pythonSDK.mdx?collection=docs&hash=1757487820750" +import * as docs_36 from "../content/docs/api/node/wait_transaction_by_hash.mdx?collection=docs&hash=1757487820750" +import * as docs_35 from "../content/docs/api/node/view.mdx?collection=docs&hash=1757487820750" +import * as docs_34 from "../content/docs/api/node/submit_transaction.mdx?collection=docs&hash=1757487820750" +import * as docs_33 from "../content/docs/api/node/submit_batch_transactions.mdx?collection=docs&hash=1757487820750" +import * as docs_32 from "../content/docs/api/node/spec.mdx?collection=docs&hash=1757487820750" +import * as docs_31 from "../content/docs/api/node/simulate_transaction.mdx?collection=docs&hash=1757487820750" +import * as docs_30 from "../content/docs/api/node/healthy.mdx?collection=docs&hash=1757487820750" +import * as docs_29 from "../content/docs/api/node/get_transactions.mdx?collection=docs&hash=1757487820750" +import * as docs_28 from "../content/docs/api/node/get_transaction_by_version.mdx?collection=docs&hash=1757487820750" +import * as docs_27 from "../content/docs/api/node/get_transaction_by_hash.mdx?collection=docs&hash=1757487820750" +import * as docs_26 from "../content/docs/api/node/get_table_item.mdx?collection=docs&hash=1757487820750" +import * as docs_25 from "../content/docs/api/node/get_raw_table_item.mdx?collection=docs&hash=1757487820750" +import * as docs_24 from "../content/docs/api/node/get_ledger_info.mdx?collection=docs&hash=1757487820750" +import * as docs_23 from "../content/docs/api/node/get_events_by_event_handle.mdx?collection=docs&hash=1757487820750" +import * as docs_22 from "../content/docs/api/node/get_events_by_creation_number.mdx?collection=docs&hash=1757487820750" +import * as docs_21 from "../content/docs/api/node/get_block_by_version.mdx?collection=docs&hash=1757487820750" +import * as docs_20 from "../content/docs/api/node/get_block_by_height.mdx?collection=docs&hash=1757487820750" +import * as docs_19 from "../content/docs/api/node/get_account_transactions.mdx?collection=docs&hash=1757487820750" +import * as docs_18 from "../content/docs/api/node/get_account_resources.mdx?collection=docs&hash=1757487820750" +import * as docs_17 from "../content/docs/api/node/get_account_resource.mdx?collection=docs&hash=1757487820750" +import * as docs_16 from "../content/docs/api/node/get_account_modules.mdx?collection=docs&hash=1757487820750" +import * as docs_15 from "../content/docs/api/node/get_account_module.mdx?collection=docs&hash=1757487820750" +import * as docs_14 from "../content/docs/api/node/get_account.mdx?collection=docs&hash=1757487820750" +import * as docs_13 from "../content/docs/api/node/estimate_gas_price.mdx?collection=docs&hash=1757487820750" +import * as docs_12 from "../content/docs/api/node/encode_submission.mdx?collection=docs&hash=1757487820750" +import * as docs_11 from "../content/docs/general/index.mdx?collection=docs&hash=1757487820750" +import * as docs_10 from "../content/docs/devs/templates.mdx?collection=docs&hash=1757487820750" +import * as docs_9 from "../content/docs/devs/oracles.mdx?collection=docs&hash=1757487820750" +import * as docs_8 from "../content/docs/devs/networkEndpoints.mdx?collection=docs&hash=1757487820750" +import * as docs_7 from "../content/docs/devs/movementcli.mdx?collection=docs&hash=1757487820750" +import * as docs_6 from "../content/docs/devs/move2.mdx?collection=docs&hash=1757487820750" +import * as docs_5 from "../content/docs/devs/indexing.mdx?collection=docs&hash=1757487820750" +import * as docs_4 from "../content/docs/devs/index.mdx?collection=docs&hash=1757487820750" +import * as docs_3 from "../content/docs/devs/fullnode.mdx?collection=docs&hash=1757487820750" +import * as docs_2 from "../content/docs/devs/firstMoveContract.mdx?collection=docs&hash=1757487820750" +import * as docs_1 from "../content/docs/devs/faq.mdx?collection=docs&hash=1757487820750" +import * as docs_0 from "../content/docs/api/index.mdx?collection=docs&hash=1757487820750" import { _runtime } from "fumadocs-mdx" import * as _source from "../source.config" -export const docs = _runtime.docs([{ info: {"path":"api\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/index.mdx"}, data: docs_0 }, { info: {"path":"devs\\faq.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/faq.mdx"}, data: docs_1 }, { info: {"path":"devs\\firstMoveContract.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/firstMoveContract.mdx"}, data: docs_2 }, { info: {"path":"devs\\fullnode.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/fullnode.mdx"}, data: docs_3 }, { info: {"path":"devs\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/index.mdx"}, data: docs_4 }, { info: {"path":"devs\\indexing.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/indexing.mdx"}, data: docs_5 }, { info: {"path":"devs\\move2.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/move2.mdx"}, data: docs_6 }, { info: {"path":"devs\\movementcli.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/movementcli.mdx"}, data: docs_7 }, { info: {"path":"devs\\networkEndpoints.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/networkEndpoints.mdx"}, data: docs_8 }, { info: {"path":"devs\\oracles.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/oracles.mdx"}, data: docs_9 }, { info: {"path":"devs\\templates.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/templates.mdx"}, data: docs_10 }, { info: {"path":"general\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/index.mdx"}, data: docs_11 }, { info: {"path":"api\\node\\encode_submission.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/encode_submission.mdx"}, data: docs_12 }, { info: {"path":"api\\node\\estimate_gas_price.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/estimate_gas_price.mdx"}, data: docs_13 }, { info: {"path":"api\\node\\get_account.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_account.mdx"}, data: docs_14 }, { info: {"path":"api\\node\\get_account_module.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_account_module.mdx"}, data: docs_15 }, { info: {"path":"api\\node\\get_account_modules.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_account_modules.mdx"}, data: docs_16 }, { info: {"path":"api\\node\\get_account_resource.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_account_resource.mdx"}, data: docs_17 }, { info: {"path":"api\\node\\get_account_resources.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_account_resources.mdx"}, data: docs_18 }, { info: {"path":"api\\node\\get_account_transactions.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_account_transactions.mdx"}, data: docs_19 }, { info: {"path":"api\\node\\get_block_by_height.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_block_by_height.mdx"}, data: docs_20 }, { info: {"path":"api\\node\\get_block_by_version.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_block_by_version.mdx"}, data: docs_21 }, { info: {"path":"api\\node\\get_events_by_creation_number.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_events_by_creation_number.mdx"}, data: docs_22 }, { info: {"path":"api\\node\\get_events_by_event_handle.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_events_by_event_handle.mdx"}, data: docs_23 }, { info: {"path":"api\\node\\get_ledger_info.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_ledger_info.mdx"}, data: docs_24 }, { info: {"path":"api\\node\\get_raw_table_item.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_raw_table_item.mdx"}, data: docs_25 }, { info: {"path":"api\\node\\get_table_item.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_table_item.mdx"}, data: docs_26 }, { info: {"path":"api\\node\\get_transactions.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_transactions.mdx"}, data: docs_27 }, { info: {"path":"api\\node\\get_transaction_by_hash.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_transaction_by_hash.mdx"}, data: docs_28 }, { info: {"path":"api\\node\\get_transaction_by_version.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/get_transaction_by_version.mdx"}, data: docs_29 }, { info: {"path":"api\\node\\healthy.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/healthy.mdx"}, data: docs_30 }, { info: {"path":"api\\node\\simulate_transaction.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/simulate_transaction.mdx"}, data: docs_31 }, { info: {"path":"api\\node\\spec.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/spec.mdx"}, data: docs_32 }, { info: {"path":"api\\node\\submit_batch_transactions.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/submit_batch_transactions.mdx"}, data: docs_33 }, { info: {"path":"api\\node\\submit_transaction.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/submit_transaction.mdx"}, data: docs_34 }, { info: {"path":"api\\node\\view.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/view.mdx"}, data: docs_35 }, { info: {"path":"api\\node\\wait_transaction_by_hash.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/wait_transaction_by_hash.mdx"}, data: docs_36 }, { info: {"path":"devs\\interactonchain\\pythonSDK.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/pythonSDK.mdx"}, data: docs_37 }, { info: {"path":"devs\\interactonchain\\rustSDK.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/rustSDK.mdx"}, data: docs_38 }, { info: {"path":"devs\\interactonchain\\tsSdk.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/tsSdk.mdx"}, data: docs_39 }, { info: {"path":"devs\\tutorials\\build.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/tutorials/build.mdx"}, data: docs_40 }, { info: {"path":"devs\\tutorials\\deploy.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/tutorials/deploy.mdx"}, data: docs_41 }, { info: {"path":"devs\\tutorials\\move_slayers.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/tutorials/move_slayers.mdx"}, data: docs_42 }, { info: {"path":"devs\\tutorials\\stablecoin.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/tutorials/stablecoin.mdx"}, data: docs_43 }, { info: {"path":"devs\\tutorials\\uniswap_v2_example.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/tutorials/uniswap_v2_example.mdx"}, data: docs_44 }, { info: {"path":"general\\l1\\architecture.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/architecture.mdx"}, data: docs_45 }, { info: {"path":"general\\l1\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/index.mdx"}, data: docs_46 }, { info: {"path":"general\\l1\\move-language.md","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/move-language.md"}, data: docs_47 }, { info: {"path":"general\\l1\\node-level-architecture.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/node-level-architecture.mdx"}, data: docs_48 }, { info: {"path":"general\\l1\\protocol-specification.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/protocol-specification.mdx"}, data: docs_49 }, { info: {"path":"general\\l1\\what-is-movement-l1.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/what-is-movement-l1.mdx"}, data: docs_50 }, { info: {"path":"general\\networks\\devnet.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/networks/devnet.mdx"}, data: docs_51 }, { info: {"path":"general\\networks\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/networks/index.mdx"}, data: docs_52 }, { info: {"path":"general\\networks\\mainnet.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/networks/mainnet.mdx"}, data: docs_53 }, { info: {"path":"general\\networks\\testnet.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/networks/testnet.mdx"}, data: docs_54 }, { info: {"path":"general\\nodes\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/index.mdx"}, data: docs_55 }, { info: {"path":"general\\sidechain\\architecture.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/sidechain/architecture.mdx"}, data: docs_56 }, { info: {"path":"general\\sidechain\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/sidechain/index.mdx"}, data: docs_57 }, { info: {"path":"general\\sidechain\\node-level-architecture.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/sidechain/node-level-architecture.mdx"}, data: docs_58 }, { info: {"path":"general\\sidechain\\what-is-movement-sidechain.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/sidechain/what-is-movement-sidechain.mdx"}, data: docs_59 }, { info: {"path":"general\\sidechain\\whitepaper.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/sidechain/whitepaper.mdx"}, data: docs_60 }, { info: {"path":"general\\usingmovement\\bridge.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/usingmovement/bridge.mdx"}, data: docs_61 }, { info: {"path":"general\\usingmovement\\community-support.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/usingmovement/community-support.mdx"}, data: docs_62 }, { info: {"path":"general\\usingmovement\\connect_to_movement.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/usingmovement/connect_to_movement.mdx"}, data: docs_63 }, { info: {"path":"devs\\interactonchain\\wallet-adapter\\aptos_wallet_standard.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/aptos_wallet_standard.mdx"}, data: docs_64 }, { info: {"path":"devs\\interactonchain\\wallet-adapter\\connect_wallet.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/connect_wallet.mdx"}, data: docs_65 }, { info: {"path":"general\\l1\\nodes\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/nodes/index.mdx"}, data: docs_66 }, { info: {"path":"general\\l1\\nodes\\public-fullnode.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/nodes/public-fullnode.mdx"}, data: docs_67 }, { info: {"path":"general\\l1\\nodes\\validator-fullnode.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/nodes/validator-fullnode.mdx"}, data: docs_68 }, { info: {"path":"general\\l1\\nodes\\validator-node.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/nodes/validator-node.mdx"}, data: docs_69 }, { info: {"path":"general\\nodes\\full-node\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/index.mdx"}, data: docs_70 }, { info: {"path":"devs\\interactonchain\\wallet-adapter\\useWallet\\ConnectWallet.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/ConnectWallet.mdx"}, data: docs_71 }, { info: {"path":"devs\\interactonchain\\wallet-adapter\\useWallet\\signAndSubmitTx.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/signAndSubmitTx.mdx"}, data: docs_72 }, { info: {"path":"devs\\interactonchain\\wallet-adapter\\useWallet\\signMessage.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/signMessage.mdx"}, data: docs_73 }, { info: {"path":"general\\nodes\\full-node\\run\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/index.mdx"}, data: docs_74 }, { info: {"path":"general\\nodes\\full-node\\run\\verify.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/verify.mdx"}, data: docs_75 }, { info: {"path":"general\\nodes\\full-node\\run\\deploy\\docker.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/deploy/docker.mdx"}, data: docs_76 }, { info: {"path":"general\\nodes\\full-node\\run\\deploy\\index.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/deploy/index.mdx"}, data: docs_77 }, { info: {"path":"general\\nodes\\full-node\\run\\deploy\\source.mdx","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/deploy/source.mdx"}, data: docs_78 }], [{"info":{"path":"api\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/meta.json"},"data":{"title":"API","pages":["index","node"],"root":true,"defaultOpen":true}}, {"info":{"path":"api\\spec.yaml","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/spec.yaml"},"data":{}}, {"info":{"path":"api\\spec_fixed.yaml","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/spec_fixed.yaml"},"data":{}}, {"info":{"path":"devs\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/meta.json"},"data":{"title":"Build","pages":["index","firstMoveContract","movementcli","networkEndpoints","interactonchain","templates","indexing","oracles","fullnode","tutorials","move2","faq"],"root":true,"defaultOpen":true}}, {"info":{"path":"general\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/meta.json"},"data":{"title":"Learn","pages":["index","networks","l1","sidechain","nodes","usingmovement","[Faucet](https://faucet.movementnetwork.xyz/)","[Explorer](https://explorer.movementnetwork.xyz/)"],"root":true,"defaultOpen":true}}, {"info":{"path":"api\\node\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/api/node/meta.json"},"data":{"title":"Node API","pages":["get_account","get_account_resources","get_account_modules","get_account_resource","get_account_module","get_account_transactions","get_block_by_height","get_block_by_version","get_events_by_creation_number","get_events_by_event_handle","spec","healthy","get_ledger_info","get_table_item","get_raw_table_item","get_transactions","submit_transaction","get_transaction_by_hash","wait_transaction_by_hash","get_transaction_by_version","submit_batch_transactions","simulate_transaction","encode_submission","estimate_gas_price","view"],"defaultOpen":true}}, {"info":{"path":"devs\\contractLibrary\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/contractLibrary/meta.json"},"data":{}}, {"info":{"path":"devs\\interactonchain\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/meta.json"},"data":{"title":"Interact on Chain","pages":["tsSdk","rustSDK","pythonSDK","wallet-adapter"],"root":false,"defaultOpen":true}}, {"info":{"path":"devs\\tutorials\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/tutorials/meta.json"},"data":{"title":"Tutorials","pages":["build","deploy","move_slayers","uniswap_v2_example","stablecoin"],"root":false,"defaultOpen":false}}, {"info":{"path":"general\\l1\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/meta.json"},"data":{"title":"Movement L1","pages":["index","what-is-movement-l1","move-language","architecture","node-level-architecture","nodes","protocol-specification"]}}, {"info":{"path":"general\\networks\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/networks/meta.json"},"data":{"title":"Networks","pages":["index","mainnet","testnet","devnet"]}}, {"info":{"path":"general\\nodes\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/meta.json"},"data":{"title":"Nodes","pages":["index","full-node"]}}, {"info":{"path":"general\\sidechain\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/sidechain/meta.json"},"data":{"title":"Movement Sidechain","pages":["index","what-is-movement-sidechain","architecture","node-level-architecture","whitepaper"]}}, {"info":{"path":"general\\usingmovement\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/usingmovement/meta.json"},"data":{"title":"Using Movement","pages":["connect_to_movement","bridge","community-support"],"defaultOpen":true}}, {"info":{"path":"general\\l1\\nodes\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/l1/nodes/meta.json"},"data":{"title":"Node types and setup","pages":["index","validator-node","validator-fullnode","public-fullnode"]}}, {"info":{"path":"devs\\interactonchain\\wallet-adapter\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/meta.json"},"data":{"title":"Wallet Adapter","pages":["connect_wallet","useWallet","aptos_wallet_standard"],"root":false,"defaultOpen":false}}, {"info":{"path":"general\\nodes\\full-node\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/meta.json"},"data":{"title":"Full Node","pages":["index","run"]}}, {"info":{"path":"devs\\interactonchain\\wallet-adapter\\useWallet\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/meta.json"},"data":{"title":"Use Wallet","pages":["ConnectWallet","signAndSubmitTx","signMessage"],"root":false,"defaultOpen":false}}, {"info":{"path":"general\\nodes\\full-node\\run\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/meta.json"},"data":{"title":"Run a Full Node","pages":["index","deploy","verify"]}}, {"info":{"path":"general\\nodes\\full-node\\run\\deploy\\meta.json","absolutePath":"C:/Users/HP 1030 G2/movement-docs/content/docs/general/nodes/full-node/run/deploy/meta.json"},"data":{"title":"Deploy a Full Node","pages":["index","source","docker"]}}]) \ No newline at end of file +export const docs = _runtime.docs([{ info: {"path":"api/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/index.mdx"}, data: docs_0 }, { info: {"path":"devs/faq.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/faq.mdx"}, data: docs_1 }, { info: {"path":"devs/firstMoveContract.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/firstMoveContract.mdx"}, data: docs_2 }, { info: {"path":"devs/fullnode.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/fullnode.mdx"}, data: docs_3 }, { info: {"path":"devs/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/index.mdx"}, data: docs_4 }, { info: {"path":"devs/indexing.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/indexing.mdx"}, data: docs_5 }, { info: {"path":"devs/move2.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/move2.mdx"}, data: docs_6 }, { info: {"path":"devs/movementcli.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/movementcli.mdx"}, data: docs_7 }, { info: {"path":"devs/networkEndpoints.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/networkEndpoints.mdx"}, data: docs_8 }, { info: {"path":"devs/oracles.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/oracles.mdx"}, data: docs_9 }, { info: {"path":"devs/templates.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/templates.mdx"}, data: docs_10 }, { info: {"path":"general/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/index.mdx"}, data: docs_11 }, { info: {"path":"api/node/encode_submission.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/encode_submission.mdx"}, data: docs_12 }, { info: {"path":"api/node/estimate_gas_price.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/estimate_gas_price.mdx"}, data: docs_13 }, { info: {"path":"api/node/get_account.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_account.mdx"}, data: docs_14 }, { info: {"path":"api/node/get_account_module.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_account_module.mdx"}, data: docs_15 }, { info: {"path":"api/node/get_account_modules.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_account_modules.mdx"}, data: docs_16 }, { info: {"path":"api/node/get_account_resource.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_account_resource.mdx"}, data: docs_17 }, { info: {"path":"api/node/get_account_resources.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_account_resources.mdx"}, data: docs_18 }, { info: {"path":"api/node/get_account_transactions.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_account_transactions.mdx"}, data: docs_19 }, { info: {"path":"api/node/get_block_by_height.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_block_by_height.mdx"}, data: docs_20 }, { info: {"path":"api/node/get_block_by_version.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_block_by_version.mdx"}, data: docs_21 }, { info: {"path":"api/node/get_events_by_creation_number.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_events_by_creation_number.mdx"}, data: docs_22 }, { info: {"path":"api/node/get_events_by_event_handle.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_events_by_event_handle.mdx"}, data: docs_23 }, { info: {"path":"api/node/get_ledger_info.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_ledger_info.mdx"}, data: docs_24 }, { info: {"path":"api/node/get_raw_table_item.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_raw_table_item.mdx"}, data: docs_25 }, { info: {"path":"api/node/get_table_item.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_table_item.mdx"}, data: docs_26 }, { info: {"path":"api/node/get_transaction_by_hash.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_transaction_by_hash.mdx"}, data: docs_27 }, { info: {"path":"api/node/get_transaction_by_version.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_transaction_by_version.mdx"}, data: docs_28 }, { info: {"path":"api/node/get_transactions.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/get_transactions.mdx"}, data: docs_29 }, { info: {"path":"api/node/healthy.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/healthy.mdx"}, data: docs_30 }, { info: {"path":"api/node/simulate_transaction.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/simulate_transaction.mdx"}, data: docs_31 }, { info: {"path":"api/node/spec.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/spec.mdx"}, data: docs_32 }, { info: {"path":"api/node/submit_batch_transactions.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/submit_batch_transactions.mdx"}, data: docs_33 }, { info: {"path":"api/node/submit_transaction.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/submit_transaction.mdx"}, data: docs_34 }, { info: {"path":"api/node/view.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/view.mdx"}, data: docs_35 }, { info: {"path":"api/node/wait_transaction_by_hash.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/wait_transaction_by_hash.mdx"}, data: docs_36 }, { info: {"path":"devs/interactonchain/pythonSDK.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/pythonSDK.mdx"}, data: docs_37 }, { info: {"path":"devs/interactonchain/rustSDK.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/rustSDK.mdx"}, data: docs_38 }, { info: {"path":"devs/interactonchain/tsSdk.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/tsSdk.mdx"}, data: docs_39 }, { info: {"path":"devs/tutorials/build.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/tutorials/build.mdx"}, data: docs_40 }, { info: {"path":"devs/tutorials/deploy.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/tutorials/deploy.mdx"}, data: docs_41 }, { info: {"path":"devs/tutorials/move_slayers.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/tutorials/move_slayers.mdx"}, data: docs_42 }, { info: {"path":"devs/tutorials/stablecoin.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/tutorials/stablecoin.mdx"}, data: docs_43 }, { info: {"path":"devs/tutorials/uniswap_v2_example.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/tutorials/uniswap_v2_example.mdx"}, data: docs_44 }, { info: {"path":"general/l1/architecture.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/architecture.mdx"}, data: docs_45 }, { info: {"path":"general/l1/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/index.mdx"}, data: docs_46 }, { info: {"path":"general/l1/move-language.md","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/move-language.md"}, data: docs_47 }, { info: {"path":"general/l1/node-level-architecture.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/node-level-architecture.mdx"}, data: docs_48 }, { info: {"path":"general/l1/protocol-specification.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/protocol-specification.mdx"}, data: docs_49 }, { info: {"path":"general/l1/what-is-movement-l1.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/what-is-movement-l1.mdx"}, data: docs_50 }, { info: {"path":"general/networks/devnet.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/networks/devnet.mdx"}, data: docs_51 }, { info: {"path":"general/networks/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/networks/index.mdx"}, data: docs_52 }, { info: {"path":"general/networks/mainnet.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/networks/mainnet.mdx"}, data: docs_53 }, { info: {"path":"general/networks/testnet.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/networks/testnet.mdx"}, data: docs_54 }, { info: {"path":"general/nodes/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/index.mdx"}, data: docs_55 }, { info: {"path":"general/sidechain/architecture.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/sidechain/architecture.mdx"}, data: docs_56 }, { info: {"path":"general/sidechain/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/sidechain/index.mdx"}, data: docs_57 }, { info: {"path":"general/sidechain/node-level-architecture.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/sidechain/node-level-architecture.mdx"}, data: docs_58 }, { info: {"path":"general/sidechain/what-is-movement-sidechain.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/sidechain/what-is-movement-sidechain.mdx"}, data: docs_59 }, { info: {"path":"general/sidechain/whitepaper.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/sidechain/whitepaper.mdx"}, data: docs_60 }, { info: {"path":"general/usingmovement/bridge.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/usingmovement/bridge.mdx"}, data: docs_61 }, { info: {"path":"general/usingmovement/community-support.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/usingmovement/community-support.mdx"}, data: docs_62 }, { info: {"path":"general/usingmovement/connect_to_movement.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/usingmovement/connect_to_movement.mdx"}, data: docs_63 }, { info: {"path":"devs/interactonchain/wallet-adapter/aptos_wallet_standard.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/aptos_wallet_standard.mdx"}, data: docs_64 }, { info: {"path":"devs/interactonchain/wallet-adapter/connect_wallet.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/connect_wallet.mdx"}, data: docs_65 }, { info: {"path":"general/l1/nodes/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/nodes/index.mdx"}, data: docs_66 }, { info: {"path":"general/l1/nodes/public-fullnode.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/nodes/public-fullnode.mdx"}, data: docs_67 }, { info: {"path":"general/l1/nodes/validator-fullnode.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/nodes/validator-fullnode.mdx"}, data: docs_68 }, { info: {"path":"general/l1/nodes/validator-node.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/nodes/validator-node.mdx"}, data: docs_69 }, { info: {"path":"general/nodes/full-node/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/index.mdx"}, data: docs_70 }, { info: {"path":"devs/interactonchain/wallet-adapter/useWallet/ConnectWallet.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/ConnectWallet.mdx"}, data: docs_71 }, { info: {"path":"devs/interactonchain/wallet-adapter/useWallet/signAndSubmitTx.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/signAndSubmitTx.mdx"}, data: docs_72 }, { info: {"path":"devs/interactonchain/wallet-adapter/useWallet/signMessage.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/signMessage.mdx"}, data: docs_73 }, { info: {"path":"general/nodes/full-node/run/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/index.mdx"}, data: docs_74 }, { info: {"path":"general/nodes/full-node/run/verify.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/verify.mdx"}, data: docs_75 }, { info: {"path":"general/nodes/full-node/run/deploy/docker.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/deploy/docker.mdx"}, data: docs_76 }, { info: {"path":"general/nodes/full-node/run/deploy/index.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/deploy/index.mdx"}, data: docs_77 }, { info: {"path":"general/nodes/full-node/run/deploy/source.mdx","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/deploy/source.mdx"}, data: docs_78 }], [{"info":{"path":"api/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/meta.json"},"data":{"title":"API","pages":["index","node"],"root":true,"defaultOpen":true}}, {"info":{"path":"api/spec.yaml","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/spec.yaml"},"data":{}}, {"info":{"path":"api/spec_fixed.yaml","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/spec_fixed.yaml"},"data":{}}, {"info":{"path":"general/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/meta.json"},"data":{"title":"Learn","pages":["index","networks","l1","sidechain","nodes","usingmovement","[Faucet](https://faucet.movementnetwork.xyz/)","[Explorer](https://explorer.movementnetwork.xyz/)"],"root":true,"defaultOpen":true}}, {"info":{"path":"devs/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/meta.json"},"data":{"title":"Build","pages":["index","firstMoveContract","movementcli","networkEndpoints","interactonchain","templates","indexing","oracles","fullnode","tutorials","move2","faq"],"root":true,"defaultOpen":true}}, {"info":{"path":"api/node/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/api/node/meta.json"},"data":{"title":"Node API","pages":["get_account","get_account_resources","get_account_modules","get_account_resource","get_account_module","get_account_transactions","get_block_by_height","get_block_by_version","get_events_by_creation_number","get_events_by_event_handle","spec","healthy","get_ledger_info","get_table_item","get_raw_table_item","get_transactions","submit_transaction","get_transaction_by_hash","wait_transaction_by_hash","get_transaction_by_version","submit_batch_transactions","simulate_transaction","encode_submission","estimate_gas_price","view"],"defaultOpen":true}}, {"info":{"path":"general/l1/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/meta.json"},"data":{"title":"Movement L1","pages":["index","what-is-movement-l1","move-language","architecture","node-level-architecture","nodes","protocol-specification"]}}, {"info":{"path":"general/networks/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/networks/meta.json"},"data":{"title":"Networks","pages":["index","mainnet","testnet","devnet"]}}, {"info":{"path":"devs/contractLibrary/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/contractLibrary/meta.json"},"data":{}}, {"info":{"path":"general/nodes/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/meta.json"},"data":{"title":"Nodes","pages":["index","full-node"]}}, {"info":{"path":"general/sidechain/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/sidechain/meta.json"},"data":{"title":"Movement Sidechain","pages":["index","what-is-movement-sidechain","architecture","node-level-architecture","whitepaper"]}}, {"info":{"path":"general/usingmovement/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/usingmovement/meta.json"},"data":{"title":"Using Movement","pages":["connect_to_movement","bridge","community-support"],"defaultOpen":true}}, {"info":{"path":"devs/interactonchain/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/meta.json"},"data":{"title":"Interact on Chain","pages":["tsSdk","rustSDK","pythonSDK","wallet-adapter"],"root":false,"defaultOpen":true}}, {"info":{"path":"devs/tutorials/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/tutorials/meta.json"},"data":{"title":"Tutorials","pages":["build","deploy","move_slayers","uniswap_v2_example","stablecoin"],"root":false,"defaultOpen":false}}, {"info":{"path":"general/l1/nodes/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/l1/nodes/meta.json"},"data":{"title":"Node types and setup","pages":["index","validator-node","validator-fullnode","public-fullnode"]}}, {"info":{"path":"general/nodes/full-node/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/meta.json"},"data":{"title":"Full Node","pages":["index","run"]}}, {"info":{"path":"devs/interactonchain/wallet-adapter/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/meta.json"},"data":{"title":"Wallet Adapter","pages":["connect_wallet","useWallet","aptos_wallet_standard"],"root":false,"defaultOpen":false}}, {"info":{"path":"general/nodes/full-node/run/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/meta.json"},"data":{"title":"Run a Full Node","pages":["index","deploy","verify"]}}, {"info":{"path":"devs/interactonchain/wallet-adapter/useWallet/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/devs/interactonchain/wallet-adapter/useWallet/meta.json"},"data":{"title":"Use Wallet","pages":["ConnectWallet","signAndSubmitTx","signMessage"],"root":false,"defaultOpen":false}}, {"info":{"path":"general/nodes/full-node/run/deploy/meta.json","absolutePath":"/Users/ap/code/movement/movement-docs/content/docs/general/nodes/full-node/run/deploy/meta.json"},"data":{"title":"Deploy a Full Node","pages":["index","source","docker"]}}]) \ No newline at end of file diff --git a/content/docs/general/l1/protocol-specification.mdx b/content/docs/general/l1/protocol-specification.mdx index 7b8ea65..0fff432 100644 --- a/content/docs/general/l1/protocol-specification.mdx +++ b/content/docs/general/l1/protocol-specification.mdx @@ -196,13 +196,19 @@ Transaction propagation is optimized for low latency: ## 3. Economic Model -### 3.1 Token Economics +### 3.1 Tokenomics #### 3.1.1 MOVE Token The native MOVE token serves multiple purposes including _**transaction fees**_ for payment of transaction execution and storage, _**staking**_ for validator staking and network security, _**governance**_ for voting on protocol upgrades and parameters, and _**incentives**_ for rewards to validators and network participants. -#### 3.1.2 Fee Structure +#### 3.1.2 Token Distribution + + + + + +#### 3.1.3 Fee Structure Transaction fees are calculated based on resource consumption: @@ -219,10 +225,22 @@ fn calculate_fee(gas_used: Gas, gas_unit_price: Octa, storage_refund: Octa) -> F } ``` -#### 3.1.3 Staking Mechanism +#### 3.1.4 Staking Mechanism Validator staking follows these principles including _**minimum stake**_ requirements for validator participation, _**delegation**_ allowing token holders to delegate stake to validators, _**rewards**_ with proportional rewards based on stake and performance, and _**slashing**_ defined in protocol but not active on mainnet as of 2025. +#### 3.1.5 Fee and Staking reward flow + +Stakers (and delegated stakers) receive rewards from the Reward-and-Gas-Pool. + +This pool has two inflow streams. First, fees are collected directly into the pool, paving a natural way for a sustainable reward model. Second, the pool is funded by the staking reward treasury, which refills regularly. + +To enhance the security of the network, the staking reward treasury delegates stakes. Since rewards are returned to the treasury, this does not contribute to the circulating supply, nor does it reduce runway. The rewards returned to the treasury also add to the longevity of the pool, driving a more sustainable model long term. Since the staking reward treasury reduces over time through payouts to the Reward-and-Gas-Pool, the treasury's influence on governance and operation will also reduce over time. + +This design has two advantages. First, in the bootstrapping period, the treasury provides critical security to the network. Second, as the network and token distribution mature, the necessity for such a bootstrapping pool becomes less important, and its continuous reduction gradually opens the path to full ownership by the community. + + + ### 3.2 Governance Model #### 3.2.1 On-Chain Governance diff --git a/src/components/CumulativeVestingChart.tsx b/src/components/CumulativeVestingChart.tsx new file mode 100644 index 0000000..6990304 --- /dev/null +++ b/src/components/CumulativeVestingChart.tsx @@ -0,0 +1,300 @@ +'use client'; + +import React, { useState } from 'react'; + +interface VestingDataPoint { + month: string; + period: number; + circSupplyPercent: number; + ecosystem: number; + foundation: number; + earlyBackers: number; + earlyContributors: number; + community: number; + total: number; +} + +// Monthly circulating supply data (cumulative) +const monthlyData: VestingDataPoint[] = [ + { month: 'Nov-24', period: 0, circSupplyPercent: 22.5, ecosystem: 1000, foundation: 250, earlyBackers: 0, earlyContributors: 0, community: 1000, total: 2250 }, + { month: 'Nov-25', period: 12, circSupplyPercent: 28.5, ecosystem: 1600, foundation: 250, earlyBackers: 0, earlyContributors: 0, community: 1000, total: 2850 }, + { month: 'Nov-26', period: 24, circSupplyPercent: 48.3, ecosystem: 2200, foundation: 437.5, earlyBackers: 750, earlyContributors: 437.5, community: 1000, total: 4825 }, + { month: 'Nov-27', period: 36, circSupplyPercent: 68.0, ecosystem: 2800, foundation: 625, earlyBackers: 1500, earlyContributors: 875, community: 1000, total: 6800 }, + { month: 'Nov-28', period: 48, circSupplyPercent: 87.8, ecosystem: 3400, foundation: 812.5, earlyBackers: 2250, earlyContributors: 1312.5, community: 1000, total: 8775 }, + { month: 'Nov-29', period: 60, circSupplyPercent: 100.0, ecosystem: 4000, foundation: 1000, earlyBackers: 2250, earlyContributors: 1750, community: 1000, total: 10000 }, +]; + +const colors = { + ecosystem: '#3B82F6', + foundation: '#EF4444', + earlyBackers: '#10B981', + earlyContributors: '#F59E0B', + community: '#8B5CF6', +}; + +export function CumulativeVestingChart() { + const [hoveredIndex, setHoveredIndex] = useState(null); + + const chartWidth = 600; + const chartHeight = 400; + const margin = { top: 20, right: 40, bottom: 60, left: 80 }; + const innerWidth = chartWidth - margin.left - margin.right; + const innerHeight = chartHeight - margin.top - margin.bottom; + + const maxValue = 10000; + const xScale = (index: number) => + margin.left + (index / (monthlyData.length - 1)) * innerWidth; + const yScale = (value: number) => + margin.top + innerHeight - (value / maxValue) * innerHeight; + + // Create paths for each category (stacked area) + const createPath = (category: keyof Omit) => { + const topPoints: Array<{ x: number; y: number }> = []; + const bottomPoints: Array<{ x: number; y: number }> = []; + + // Calculate cumulative bottom stack (sum of all previous categories) + const getBottomStack = (index: number, currentCategory: typeof category) => { + let sum = 0; + const categoryOrder = ['community', 'foundation', 'earlyContributors', 'earlyBackers', 'ecosystem']; + const currentIndex = categoryOrder.indexOf(currentCategory); + + for (let i = 0; i < currentIndex; i++) { + const prevCategory = categoryOrder[i] as typeof category; + sum += monthlyData[index][prevCategory]; + } + return sum; + }; + + // Top line (current category + previous stacks) + monthlyData.forEach((point, index) => { + const x = xScale(index); + const bottomStack = getBottomStack(index, category); + const topY = bottomStack + point[category]; + topPoints.push({ x, y: yScale(topY) }); + }); + + // Bottom line (just previous stacks) + monthlyData.forEach((point, index) => { + const x = xScale(index); + const bottomStack = getBottomStack(index, category); + bottomPoints.push({ x, y: yScale(bottomStack) }); + }); + + // Combine top and bottom to create closed path + const allPoints = [ + ...topPoints, + ...bottomPoints.reverse() + ]; + + return allPoints.map((p, i) => `${i === 0 ? 'M' : 'L'} ${p.x} ${p.y}`).join(' ') + ' Z'; + }; + + const categories: Array<{ + key: keyof Omit; + name: string; + color: string; + }> = [ + { key: 'community', name: 'Community', color: colors.community }, + { key: 'foundation', name: 'Foundation', color: colors.foundation }, + { key: 'earlyContributors', name: 'Early Contributors', color: colors.earlyContributors }, + { key: 'earlyBackers', name: 'Early Backers', color: colors.earlyBackers }, + { key: 'ecosystem', name: 'Ecosystem', color: colors.ecosystem }, + ]; + + return ( +
+
+

+ Cumulative circulating supply over time: stacked view showing the cumulative circulating supply by category from TGE (Nov 2024) through full vesting (Nov 2029). Real unlock schedules may vary from shown projection. +

+
+ +
+ + {/* Grid lines */} + {[0, 0.2, 0.4, 0.6, 0.8, 1.0].map((ratio) => { + const value = ratio * maxValue; + const y = yScale(value); + return ( + + + + {(value / 1000).toFixed(0)}K + + + ); + })} + + {/* Stacked area paths */} + {categories.map((category) => ( + + ))} + + {/* Vertical line and tooltip on hover */} + {hoveredIndex !== null && ( + <> + + + + {monthlyData[hoveredIndex].month} + + + {monthlyData[hoveredIndex].circSupplyPercent.toFixed(1)}% Circulating + + + Total: {monthlyData[hoveredIndex].total.toLocaleString()}M + + + Period: {monthlyData[hoveredIndex].period} months + + + )} + + {/* X-axis labels */} + {monthlyData.map((point, index) => ( + + + + {point.month.split('-')[0]} + + + {point.month.split('-')[1]} + + + ))} + + {/* Interactive hover area */} + {monthlyData.map((_, index) => { + const leftX = index === 0 ? margin.left : (xScale(index - 1) + xScale(index)) / 2; + const rightX = index === monthlyData.length - 1 + ? margin.left + innerWidth + : (xScale(index) + xScale(index + 1)) / 2; + + return ( + setHoveredIndex(index)} + onMouseLeave={() => setHoveredIndex(null)} + className="cursor-pointer" + /> + ); + })} + + {/* Axes */} + + + +
+ + {/* Legend */} +
+ {categories.map((category) => ( +
+
+ {category.name} +
+ ))} +
+
+ ); +} + diff --git a/src/components/TokenDistributionChart.tsx b/src/components/TokenDistributionChart.tsx new file mode 100644 index 0000000..43bbd0b --- /dev/null +++ b/src/components/TokenDistributionChart.tsx @@ -0,0 +1,152 @@ +'use client'; + +import React from 'react'; + +interface TokenDistributionData { + name: string; + tokens: number; // in millions + percentage: number; + color: string; +} + +const data: TokenDistributionData[] = [ + { name: 'Ecosystem', tokens: 4000, percentage: 40.0, color: '#3B82F6' }, + { name: 'Foundation', tokens: 1000, percentage: 10.0, color: '#EF4444' }, + { name: 'Early Contributors', tokens: 1750, percentage: 17.5, color: '#F59E0B' }, + { name: 'Early Backers', tokens: 2250, percentage: 22.5, color: '#10B981' }, + { name: 'Community', tokens: 1000, percentage: 10.0, color: '#8B5CF6' }, +]; + +// Calculate pie chart path +function getPieSlicePath( + centerX: number, + centerY: number, + radius: number, + startAngle: number, + endAngle: number +): string { + const start = { + x: centerX + radius * Math.cos(startAngle), + y: centerY + radius * Math.sin(startAngle), + }; + const end = { + x: centerX + radius * Math.cos(endAngle), + y: centerY + radius * Math.sin(endAngle), + }; + const largeArcFlag = endAngle - startAngle > Math.PI ? 1 : 0; + + return ` + M ${centerX} ${centerY} + L ${start.x} ${start.y} + A ${radius} ${radius} 0 ${largeArcFlag} 1 ${end.x} ${end.y} + Z + `; +} + +export function TokenDistributionChart() { + const size = 320; + const centerX = size / 2; + const centerY = size / 2; + const radius = 120; + const legendOffset = 20; + const legendItemHeight = 24; + + let currentAngle = -Math.PI / 2; // Start at top + + const slices = data.map((item) => { + const sliceAngle = (item.percentage / 100) * 2 * Math.PI; + const startAngle = currentAngle; + const endAngle = currentAngle + sliceAngle; + + const slice = { + ...item, + path: getPieSlicePath(centerX, centerY, radius, startAngle, endAngle), + startAngle, + endAngle, + labelAngle: startAngle + sliceAngle / 2, + }; + + currentAngle = endAngle; + return slice; + }); + + // Calculate label position (rounded for hydration consistency) + const getLabelPosition = (angle: number, distance: number) => { + return { + x: Math.round((centerX + distance * Math.cos(angle)) * 100) / 100, + y: Math.round((centerY + distance * Math.sin(angle)) * 100) / 100, + }; + }; + + return ( +
+ {/* Pie Chart */} +
+ + {slices.map((slice, index) => { + const labelPos = getLabelPosition(slice.labelAngle, radius * 0.65); + return ( + + + {slice.percentage > 5 && ( + + {slice.percentage}% + + )} + + ); + })} + +
+ + {/* Legend */} +
+
+ {data.map((item, index) => ( +
+
+
+ {item.name} +
+
+ + {item.tokens.toLocaleString()}M + + + {item.percentage}% + +
+
+ ))} +
+
+
+ Total +
+ 10,000M + 100.0% +
+
+
+
+
+ ); +} diff --git a/src/components/TokenomicsFlowDiagram.tsx b/src/components/TokenomicsFlowDiagram.tsx new file mode 100644 index 0000000..d455e5f --- /dev/null +++ b/src/components/TokenomicsFlowDiagram.tsx @@ -0,0 +1,171 @@ +'use client'; + +import React from 'react'; + +export function TokenomicsFlowDiagram() { + return ( +
+
+ + {/* Definitions for arrows */} + + + + + + + {/* Title */} + + Fee and Staking reward flow + + + {/* Box 1: Users/Transactions - Fees Collection */} + + + Users & Transactions + + + Pay transaction fees + + + {/* Arrow from Users to Reward and Gas Pool */} + + + Fees + + + {/* Box: Reward and Gas Pool */} + + + Reward-and-Gas-Pool + + + Fee collection & staking rewards + + + Governed by protocol + + + {/* Arrow from Reward and Gas Pool to Stakers */} + + + Rewards + + + {/* Box 4: Stakers */} + + + Stakers + + + Receive staking rewards + + + {/* Box 5: Staking Reward Treasury */} + + + Staking Reward Treasury + + + Delegates stake + + + {/* Arrow from Treasury to Reward and Gas Pool (entering left side) */} + + + regular refill + + + {/* Arrow from Stakers back to Treasury (rewards loop) */} + + + Some rewards returned to treasury + + +
+
+ ); +} + diff --git a/src/mdx-components.tsx b/src/mdx-components.tsx index 95796b9..c87132f 100644 --- a/src/mdx-components.tsx +++ b/src/mdx-components.tsx @@ -2,6 +2,9 @@ import defaultMdxComponents from 'fumadocs-ui/mdx'; import type { MDXComponents } from 'mdx/types'; import { MovementCard } from '@/components/MovementCard'; import { CustomAPIPage } from '@/components/CustomAPIPage'; +import { TokenDistributionChart } from '@/components/TokenDistributionChart'; +import { CumulativeVestingChart } from '@/components/CumulativeVestingChart'; +import { TokenomicsFlowDiagram } from '@/components/TokenomicsFlowDiagram'; // use this function to get MDX components, you will need it for rendering MDX export function getMDXComponents(components?: MDXComponents): MDXComponents { @@ -9,6 +12,9 @@ export function getMDXComponents(components?: MDXComponents): MDXComponents { ...defaultMdxComponents, MovementCard, APIPage: CustomAPIPage, + TokenDistributionChart, + CumulativeVestingChart, + TokenomicsFlowDiagram, ...components, }; }