From 6fd079ee6646d9457935c3f00ec4d6c06fb646fc Mon Sep 17 00:00:00 2001 From: youssefea Date: Thu, 29 Jan 2026 16:40:18 +0000 Subject: [PATCH 1/5] docs: remove Learn section and migrate to separate repo - Remove Learn tab from navigation - Delete all Learn section files (180 files) - Remove all learn-related redirects - Add single wildcard redirect to github.com/base/learn-docs - Add deprecation banner informing users of new location The Learn content has been archived at https://github.com/base/learn-docs Co-Authored-By: Claude --- docs/docs.json | 727 ++---------- .../address-and-payable.mdx | 91 -- .../function-modifiers-vid.mdx | 9 - .../advanced-functions/function-modifiers.mdx | 151 --- .../function-visibility-vid.mdx | 9 - .../function-visibility.mdx | 131 --- .../learn/arrays/array-storage-layout-vid.mdx | 9 - docs/learn/arrays/arrays-exercise.mdx | 93 -- docs/learn/arrays/arrays-in-solidity-vid.mdx | 9 - docs/learn/arrays/arrays-in-solidity.mdx | 142 --- docs/learn/arrays/filtering-an-array-sbs.mdx | 230 ---- docs/learn/arrays/fixed-size-arrays-vid.mdx | 10 - .../arrays/writing-arrays-in-solidity-vid.mdx | 10 - .../basic-functions-exercise.mdx | 38 - .../basic-types.mdx | 221 ---- .../hello-world-step-by-step.mdx | 205 ---- .../intro-to-contracts-vid.mdx | 9 - .../control-structures-exercise.mdx | 57 - .../control-structures/control-structures.mdx | 233 ---- docs/learn/control-structures/loops-vid.mdx | 9 - .../require-revert-error-vid.mdx | 9 - .../standard-control-structures-vid.mdx | 10 - .../contract-verification-sbs.mdx | 68 -- .../deployment-to-base-sepolia-sbs.mdx | 108 -- .../deployment-to-testnet-exercise.mdx | 36 - .../overview-of-test-networks-vid.mdx | 9 - .../deployment-to-testnet/test-networks.mdx | 97 -- .../error-triage-exercise-source.sol | 60 - .../error-triage/error-triage-exercise.mdx | 97 -- docs/learn/error-triage/error-triage-vid.mdx | 9 - docs/learn/error-triage/error-triage.mdx | 449 ------- docs/learn/events/hardhat-events-sbs.mdx | 285 ----- docs/learn/exercise-contracts.mdx | 27 - docs/learn/foundry/deploy-with-foundry.mdx | 307 ----- .../generate-random-numbers-contracts.md | 403 ------- docs/learn/foundry/setup-with-base.mdx | 148 --- .../learn/foundry/testing-smart-contracts.mdx | 215 ---- .../foundry/verify-contract-with-basescan.md | 289 ----- .../learn/hardhat/etherscan/etherscan-sbs.mdx | 131 --- .../learn/hardhat/etherscan/etherscan-vid.mdx | 11 - .../hardhat/hardhat-deploy/deployment-vid.mdx | 11 - .../hardhat-deploy/hardhat-deploy-sbs.mdx | 263 ----- .../installing-hardhat-deploy-vid.mdx | 11 - .../setup-deploy-script-vid.mdx | 11 - .../test-network-configuration-vid.mdx | 11 - .../testing-our-deployment-vid.mdx | 11 - .../hardhat-forking/hardhat-forking.mdx | 181 --- .../hardhat-forking/mainnet-forking-vid.mdx | 11 - .../creating-a-project-vid.mdx | 11 - .../hardhat-overview-vid.mdx | 11 - .../hardhat-setup-overview-sbs.mdx | 161 --- .../contract-abi-and-testing-vid.mdx | 11 - .../hardhat-testing/hardhat-testing-sbs.mdx | 342 ------ .../hardhat-testing/testing-overview-vid.mdx | 11 - .../hardhat-testing/writing-tests-vid.mdx | 11 - .../analyzing-test-coverage.mdx | 240 ---- .../debugging-smart-contracts.mdx | 407 ------- .../deploy-with-hardhat.mdx | 405 ------- .../optimizing-gas-usage.mdx | 423 ------- .../hardhat-tools-and-testing/overview.mdx | 74 -- .../reducing-contract-size.mdx | 502 -------- .../hardhat-verify/hardhat-verify-sbs.mdx | 117 -- .../hardhat-verify/hardhat-verify-vid.mdx | 11 - docs/learn/imports/imports-exercise.mdx | 91 -- docs/learn/imports/imports-sbs.mdx | 98 -- docs/learn/imports/imports-vid.mdx | 10 - .../inheritance/abstract-contracts-sbs.mdx | 77 -- .../inheritance/abstract-contracts-vid.mdx | 9 - .../inheritance/inheritance-exercise.mdx | 123 -- docs/learn/inheritance/inheritance-sbs.mdx | 183 --- docs/learn/inheritance/inheritance-vid.mdx | 10 - .../inheritance/multiple-inheritance-vid.mdx | 10 - .../inheritance/multiple-inheritance.mdx | 268 ----- .../calling-another-contract-vid.mdx | 11 - .../contract-to-contract-interaction.mdx | 266 ----- .../interfaces/intro-to-interfaces-vid.mdx | 11 - .../interfaces/testing-the-interface-vid.mdx | 11 - .../ethereum-applications.mdx | 193 --- .../ethereum-dev-overview-vid.mdx | 9 - .../introduction-to-ethereum/evm-diagram.mdx | 109 -- .../gas-use-in-eth-transactions.mdx | 117 -- .../guide-to-base.mdx | 4 - .../introduction-to-ethereum-vid.mdx | 9 - .../anatomy-of-a-smart-contract-vid.mdx | 9 - .../deployment-in-remix-vid.mdx | 9 - .../deployment-in-remix.mdx | 110 -- .../introduction-to-remix-vid.mdx | 9 - .../introduction-to-remix.mdx | 93 -- .../introduction-to-solidity-overview.mdx | 77 -- .../introduction-to-solidity-vid.mdx | 10 - .../solidity-overview.mdx | 168 --- docs/learn/llms-full.txt | 89 -- docs/learn/llms.txt | 76 -- .../mappings/how-mappings-are-stored-vid.mdx | 9 - docs/learn/mappings/mappings-exercise.mdx | 74 -- docs/learn/mappings/mappings-sbs.mdx | 212 ---- docs/learn/mappings/mappings-vid.mdx | 10 - docs/learn/mappings/using-msg-sender-vid.mdx | 9 - .../creating-a-new-contract-vid.mdx | 10 - .../new-keyword/new-keyword-exercise.mdx | 92 -- docs/learn/new-keyword/new-keyword-sbs.mdx | 116 -- ...unt-abstraction-on-base-using-biconomy.mdx | 314 ----- ...raction-on-base-using-particle-network.mdx | 587 --------- ...ase-using-privy-and-the-base-paymaster.mdx | 737 ------------ .../gasless-transactions-with-paymaster.mdx | 367 ------ .../bridge-tokens-with-layerzero.mdx | 597 ---------- ...essages-and-tokens-from-base-chainlink.mdx | 598 ---------- .../deploy-with-fleek.mdx | 183 --- ...-real-time-asset-data-pyth-price-feeds.mdx | 244 ---- .../access-real-world-data-chainlink.mdx | 229 ---- .../build-a-smart-wallet-funding-app.mdx | 169 --- .../building-an-onchain-app.mdx | 219 ---- .../introduction-to-providers.mdx | 250 ---- .../frontend-setup/overview.mdx | 53 - .../frontend-setup/viem.mdx | 107 -- .../frontend-setup/wallet-connectors.mdx | 94 -- .../frontend-setup/web3.mdx | 108 -- .../configuring-useReadContract.mdx | 212 ---- .../useAccount.mdx | 226 ---- .../useReadContract.mdx | 463 -------- .../useSimulateContract.mdx | 110 -- .../writing-to-contracts/useWriteContract.mdx | 155 --- .../onchain-concepts/building-onchain-ai.mdx | 14 - .../building-onchain-frontend-development.mdx | 34 - .../onchain-concepts/building-onchain-gas.mdx | 22 - .../building-onchain-identity.mdx | 41 - .../building-onchain-nodes.mdx | 75 -- .../building-onchain-onramps.mdx | 22 - .../building-onchain-social-networks.mdx | 52 - .../building-onchain-wallets.mdx | 46 - .../continue-building-onchain.mdx | 14 - docs/learn/onchain-concepts/core-concepts.mdx | 21 - .../onchain-concepts/development-flow.mdx | 90 -- .../understanding-the-onchain-tech-stack.mdx | 73 -- docs/learn/solidity/anatomy.mdx | 6 - docs/learn/solidity/basic-types.mdx | 5 - docs/learn/solidity/deployment-in-remix.mdx | 5 - docs/learn/solidity/exercise-basics.mdx | 5 - docs/learn/solidity/hello-world.mdx | 5 - .../solidity/introduction-to-contracts.mdx | 5 - docs/learn/solidity/introduction-to-remix.mdx | 5 - docs/learn/solidity/introduction.mdx | 5 - docs/learn/solidity/overview.mdx | 5 - docs/learn/solidity/remix-guide.mdx | 5 - docs/learn/solidity/step-by-step.mdx | 5 - docs/learn/solidity/video-tutorial.mdx | 5 - .../learn/storage/how-storage-works-video.mdx | 10 - docs/learn/storage/how-storage-works.mdx | 237 ---- docs/learn/storage/simple-storage-sbs.mdx | 222 ---- docs/learn/storage/simple-storage-video.mdx | 9 - docs/learn/storage/storage-exercise.mdx | 118 -- docs/learn/structs/structs-exercise.mdx | 81 -- docs/learn/structs/structs-sbs.mdx | 325 ----- docs/learn/structs/structs-vid.mdx | 9 - .../erc-20-token/analyzing-erc-20-vid.mdx | 10 - .../erc-20-token/erc-20-exercise.mdx | 124 -- .../erc-20-token/erc-20-standard.mdx | 103 -- .../erc-20-token/erc-20-testing-vid.mdx | 10 - .../erc-20-token/erc-20-token-sbs.mdx | 141 --- .../erc-20-token/openzeppelin-erc-20-vid.mdx | 10 - .../erc-721-token/erc-721-exercise.mdx | 87 -- .../erc-721-token/erc-721-on-opensea-vid.mdx | 10 - .../erc-721-token/erc-721-sbs.mdx | 296 ----- .../erc-721-token/erc-721-standard-video.mdx | 11 - .../erc-721-token/erc-721-standard.mdx | 101 -- .../implementing-an-erc-721-vid.mdx | 11 - .../openzeppelin-erc-721-vid.mdx | 11 - .../intro-to-tokens/intro-to-tokens-vid.mdx | 10 - .../misconceptions-about-tokens-vid.mdx | 10 - .../intro-to-tokens/tokens-overview.mdx | 101 -- .../creating-a-minimal-token-vid.mdx | 10 - .../minimal-tokens/minimal-token-sbs.mdx | 175 --- .../minimal-tokens-exercise.mdx | 72 -- .../transferring-a-minimal-token-vid.mdx | 10 - .../nft-guides/complex-onchain-nfts.mdx | 867 -------------- .../nft-guides/dynamic-nfts.mdx | 313 ----- .../nft-guides/signature-mint.mdx | 374 ------ .../nft-guides/simple-onchain-nfts.mdx | 1044 ----------------- .../nft-guides/thirdweb-unreal-nft-items.mdx | 662 ----------- docs/learn/welcome.mdx | 27 - 180 files changed, 66 insertions(+), 23341 deletions(-) delete mode 100644 docs/learn/address-and-payable/address-and-payable.mdx delete mode 100644 docs/learn/advanced-functions/function-modifiers-vid.mdx delete mode 100644 docs/learn/advanced-functions/function-modifiers.mdx delete mode 100644 docs/learn/advanced-functions/function-visibility-vid.mdx delete mode 100644 docs/learn/advanced-functions/function-visibility.mdx delete mode 100644 docs/learn/arrays/array-storage-layout-vid.mdx delete mode 100644 docs/learn/arrays/arrays-exercise.mdx delete mode 100644 docs/learn/arrays/arrays-in-solidity-vid.mdx delete mode 100644 docs/learn/arrays/arrays-in-solidity.mdx delete mode 100644 docs/learn/arrays/filtering-an-array-sbs.mdx delete mode 100644 docs/learn/arrays/fixed-size-arrays-vid.mdx delete mode 100644 docs/learn/arrays/writing-arrays-in-solidity-vid.mdx delete mode 100644 docs/learn/contracts-and-basic-functions/basic-functions-exercise.mdx delete mode 100644 docs/learn/contracts-and-basic-functions/basic-types.mdx delete mode 100644 docs/learn/contracts-and-basic-functions/hello-world-step-by-step.mdx delete mode 100644 docs/learn/contracts-and-basic-functions/intro-to-contracts-vid.mdx delete mode 100644 docs/learn/control-structures/control-structures-exercise.mdx delete mode 100644 docs/learn/control-structures/control-structures.mdx delete mode 100644 docs/learn/control-structures/loops-vid.mdx delete mode 100644 docs/learn/control-structures/require-revert-error-vid.mdx delete mode 100644 docs/learn/control-structures/standard-control-structures-vid.mdx delete mode 100644 docs/learn/deployment-to-testnet/contract-verification-sbs.mdx delete mode 100644 docs/learn/deployment-to-testnet/deployment-to-base-sepolia-sbs.mdx delete mode 100644 docs/learn/deployment-to-testnet/deployment-to-testnet-exercise.mdx delete mode 100644 docs/learn/deployment-to-testnet/overview-of-test-networks-vid.mdx delete mode 100644 docs/learn/deployment-to-testnet/test-networks.mdx delete mode 100644 docs/learn/error-triage/error-triage-exercise-source.sol delete mode 100644 docs/learn/error-triage/error-triage-exercise.mdx delete mode 100644 docs/learn/error-triage/error-triage-vid.mdx delete mode 100644 docs/learn/error-triage/error-triage.mdx delete mode 100644 docs/learn/events/hardhat-events-sbs.mdx delete mode 100644 docs/learn/exercise-contracts.mdx delete mode 100644 docs/learn/foundry/deploy-with-foundry.mdx delete mode 100644 docs/learn/foundry/generate-random-numbers-contracts.md delete mode 100644 docs/learn/foundry/setup-with-base.mdx delete mode 100644 docs/learn/foundry/testing-smart-contracts.mdx delete mode 100644 docs/learn/foundry/verify-contract-with-basescan.md delete mode 100644 docs/learn/hardhat/etherscan/etherscan-sbs.mdx delete mode 100644 docs/learn/hardhat/etherscan/etherscan-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-deploy/deployment-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-deploy/hardhat-deploy-sbs.mdx delete mode 100644 docs/learn/hardhat/hardhat-deploy/installing-hardhat-deploy-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-deploy/setup-deploy-script-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-deploy/test-network-configuration-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-deploy/testing-our-deployment-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-forking/hardhat-forking.mdx delete mode 100644 docs/learn/hardhat/hardhat-forking/mainnet-forking-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-setup-overview/creating-a-project-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-setup-overview/hardhat-overview-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-setup-overview/hardhat-setup-overview-sbs.mdx delete mode 100644 docs/learn/hardhat/hardhat-testing/contract-abi-and-testing-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-testing/hardhat-testing-sbs.mdx delete mode 100644 docs/learn/hardhat/hardhat-testing/testing-overview-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-testing/writing-tests-vid.mdx delete mode 100644 docs/learn/hardhat/hardhat-tools-and-testing/analyzing-test-coverage.mdx delete mode 100644 docs/learn/hardhat/hardhat-tools-and-testing/debugging-smart-contracts.mdx delete mode 100644 docs/learn/hardhat/hardhat-tools-and-testing/deploy-with-hardhat.mdx delete mode 100644 docs/learn/hardhat/hardhat-tools-and-testing/optimizing-gas-usage.mdx delete mode 100644 docs/learn/hardhat/hardhat-tools-and-testing/overview.mdx delete mode 100644 docs/learn/hardhat/hardhat-tools-and-testing/reducing-contract-size.mdx delete mode 100644 docs/learn/hardhat/hardhat-verify/hardhat-verify-sbs.mdx delete mode 100644 docs/learn/hardhat/hardhat-verify/hardhat-verify-vid.mdx delete mode 100644 docs/learn/imports/imports-exercise.mdx delete mode 100644 docs/learn/imports/imports-sbs.mdx delete mode 100644 docs/learn/imports/imports-vid.mdx delete mode 100644 docs/learn/inheritance/abstract-contracts-sbs.mdx delete mode 100644 docs/learn/inheritance/abstract-contracts-vid.mdx delete mode 100644 docs/learn/inheritance/inheritance-exercise.mdx delete mode 100644 docs/learn/inheritance/inheritance-sbs.mdx delete mode 100644 docs/learn/inheritance/inheritance-vid.mdx delete mode 100644 docs/learn/inheritance/multiple-inheritance-vid.mdx delete mode 100644 docs/learn/inheritance/multiple-inheritance.mdx delete mode 100644 docs/learn/interfaces/calling-another-contract-vid.mdx delete mode 100644 docs/learn/interfaces/contract-to-contract-interaction.mdx delete mode 100644 docs/learn/interfaces/intro-to-interfaces-vid.mdx delete mode 100644 docs/learn/interfaces/testing-the-interface-vid.mdx delete mode 100644 docs/learn/introduction-to-ethereum/ethereum-applications.mdx delete mode 100644 docs/learn/introduction-to-ethereum/ethereum-dev-overview-vid.mdx delete mode 100644 docs/learn/introduction-to-ethereum/evm-diagram.mdx delete mode 100644 docs/learn/introduction-to-ethereum/gas-use-in-eth-transactions.mdx delete mode 100644 docs/learn/introduction-to-ethereum/guide-to-base.mdx delete mode 100644 docs/learn/introduction-to-ethereum/introduction-to-ethereum-vid.mdx delete mode 100644 docs/learn/introduction-to-solidity/anatomy-of-a-smart-contract-vid.mdx delete mode 100644 docs/learn/introduction-to-solidity/deployment-in-remix-vid.mdx delete mode 100644 docs/learn/introduction-to-solidity/deployment-in-remix.mdx delete mode 100644 docs/learn/introduction-to-solidity/introduction-to-remix-vid.mdx delete mode 100644 docs/learn/introduction-to-solidity/introduction-to-remix.mdx delete mode 100644 docs/learn/introduction-to-solidity/introduction-to-solidity-overview.mdx delete mode 100644 docs/learn/introduction-to-solidity/introduction-to-solidity-vid.mdx delete mode 100644 docs/learn/introduction-to-solidity/solidity-overview.mdx delete mode 100644 docs/learn/llms-full.txt delete mode 100644 docs/learn/llms.txt delete mode 100644 docs/learn/mappings/how-mappings-are-stored-vid.mdx delete mode 100644 docs/learn/mappings/mappings-exercise.mdx delete mode 100644 docs/learn/mappings/mappings-sbs.mdx delete mode 100644 docs/learn/mappings/mappings-vid.mdx delete mode 100644 docs/learn/mappings/using-msg-sender-vid.mdx delete mode 100644 docs/learn/new-keyword/creating-a-new-contract-vid.mdx delete mode 100644 docs/learn/new-keyword/new-keyword-exercise.mdx delete mode 100644 docs/learn/new-keyword/new-keyword-sbs.mdx delete mode 100644 docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-biconomy.mdx delete mode 100644 docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-particle-network.mdx delete mode 100644 docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx delete mode 100644 docs/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster.mdx delete mode 100644 docs/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero.mdx delete mode 100644 docs/learn/onchain-app-development/cross-chain/send-messages-and-tokens-from-base-chainlink.mdx delete mode 100644 docs/learn/onchain-app-development/deploy-with-fleek.mdx delete mode 100644 docs/learn/onchain-app-development/finance/access-real-time-asset-data-pyth-price-feeds.mdx delete mode 100644 docs/learn/onchain-app-development/finance/access-real-world-data-chainlink.mdx delete mode 100644 docs/learn/onchain-app-development/finance/build-a-smart-wallet-funding-app.mdx delete mode 100644 docs/learn/onchain-app-development/frontend-setup/building-an-onchain-app.mdx delete mode 100644 docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx delete mode 100644 docs/learn/onchain-app-development/frontend-setup/overview.mdx delete mode 100644 docs/learn/onchain-app-development/frontend-setup/viem.mdx delete mode 100644 docs/learn/onchain-app-development/frontend-setup/wallet-connectors.mdx delete mode 100644 docs/learn/onchain-app-development/frontend-setup/web3.mdx delete mode 100644 docs/learn/onchain-app-development/reading-and-displaying-data/configuring-useReadContract.mdx delete mode 100644 docs/learn/onchain-app-development/reading-and-displaying-data/useAccount.mdx delete mode 100644 docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx delete mode 100644 docs/learn/onchain-app-development/writing-to-contracts/useSimulateContract.mdx delete mode 100644 docs/learn/onchain-app-development/writing-to-contracts/useWriteContract.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-ai.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-frontend-development.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-gas.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-identity.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-nodes.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-onramps.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-social-networks.mdx delete mode 100644 docs/learn/onchain-concepts/building-onchain-wallets.mdx delete mode 100644 docs/learn/onchain-concepts/continue-building-onchain.mdx delete mode 100644 docs/learn/onchain-concepts/core-concepts.mdx delete mode 100644 docs/learn/onchain-concepts/development-flow.mdx delete mode 100644 docs/learn/onchain-concepts/understanding-the-onchain-tech-stack.mdx delete mode 100644 docs/learn/solidity/anatomy.mdx delete mode 100644 docs/learn/solidity/basic-types.mdx delete mode 100644 docs/learn/solidity/deployment-in-remix.mdx delete mode 100644 docs/learn/solidity/exercise-basics.mdx delete mode 100644 docs/learn/solidity/hello-world.mdx delete mode 100644 docs/learn/solidity/introduction-to-contracts.mdx delete mode 100644 docs/learn/solidity/introduction-to-remix.mdx delete mode 100644 docs/learn/solidity/introduction.mdx delete mode 100644 docs/learn/solidity/overview.mdx delete mode 100644 docs/learn/solidity/remix-guide.mdx delete mode 100644 docs/learn/solidity/step-by-step.mdx delete mode 100644 docs/learn/solidity/video-tutorial.mdx delete mode 100644 docs/learn/storage/how-storage-works-video.mdx delete mode 100644 docs/learn/storage/how-storage-works.mdx delete mode 100644 docs/learn/storage/simple-storage-sbs.mdx delete mode 100644 docs/learn/storage/simple-storage-video.mdx delete mode 100644 docs/learn/storage/storage-exercise.mdx delete mode 100644 docs/learn/structs/structs-exercise.mdx delete mode 100644 docs/learn/structs/structs-sbs.mdx delete mode 100644 docs/learn/structs/structs-vid.mdx delete mode 100644 docs/learn/token-development/erc-20-token/analyzing-erc-20-vid.mdx delete mode 100644 docs/learn/token-development/erc-20-token/erc-20-exercise.mdx delete mode 100644 docs/learn/token-development/erc-20-token/erc-20-standard.mdx delete mode 100644 docs/learn/token-development/erc-20-token/erc-20-testing-vid.mdx delete mode 100644 docs/learn/token-development/erc-20-token/erc-20-token-sbs.mdx delete mode 100644 docs/learn/token-development/erc-20-token/openzeppelin-erc-20-vid.mdx delete mode 100644 docs/learn/token-development/erc-721-token/erc-721-exercise.mdx delete mode 100644 docs/learn/token-development/erc-721-token/erc-721-on-opensea-vid.mdx delete mode 100644 docs/learn/token-development/erc-721-token/erc-721-sbs.mdx delete mode 100644 docs/learn/token-development/erc-721-token/erc-721-standard-video.mdx delete mode 100644 docs/learn/token-development/erc-721-token/erc-721-standard.mdx delete mode 100644 docs/learn/token-development/erc-721-token/implementing-an-erc-721-vid.mdx delete mode 100644 docs/learn/token-development/erc-721-token/openzeppelin-erc-721-vid.mdx delete mode 100644 docs/learn/token-development/intro-to-tokens/intro-to-tokens-vid.mdx delete mode 100644 docs/learn/token-development/intro-to-tokens/misconceptions-about-tokens-vid.mdx delete mode 100644 docs/learn/token-development/intro-to-tokens/tokens-overview.mdx delete mode 100644 docs/learn/token-development/minimal-tokens/creating-a-minimal-token-vid.mdx delete mode 100644 docs/learn/token-development/minimal-tokens/minimal-token-sbs.mdx delete mode 100644 docs/learn/token-development/minimal-tokens/minimal-tokens-exercise.mdx delete mode 100644 docs/learn/token-development/minimal-tokens/transferring-a-minimal-token-vid.mdx delete mode 100644 docs/learn/token-development/nft-guides/complex-onchain-nfts.mdx delete mode 100644 docs/learn/token-development/nft-guides/dynamic-nfts.mdx delete mode 100644 docs/learn/token-development/nft-guides/signature-mint.mdx delete mode 100644 docs/learn/token-development/nft-guides/simple-onchain-nfts.mdx delete mode 100644 docs/learn/token-development/nft-guides/thirdweb-unreal-nft-items.mdx delete mode 100644 docs/learn/welcome.mdx diff --git a/docs/docs.json b/docs/docs.json index 2e2ab01c4..5ab0a42df 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -9,14 +9,20 @@ }, "favicon": "/logo/favicon.png", "contextual": { - "options": ["copy", "chatgpt", "claude"] + "options": [ + "copy", + "chatgpt", + "claude" + ] }, "api": { "playground": { "display": "simple" }, "examples": { - "languages": ["javascript"] + "languages": [ + "javascript" + ] } }, "navigation": { @@ -26,7 +32,9 @@ "groups": [ { "group": "Introduction", - "pages": ["get-started/base"] + "pages": [ + "get-started/base" + ] }, { "group": "Quickstart", @@ -47,7 +55,11 @@ }, { "group": "Build with AI", - "pages": ["get-started/docs-mcp", "get-started/docs-llms", "get-started/prompt-library"] + "pages": [ + "get-started/docs-mcp", + "get-started/docs-llms", + "get-started/prompt-library" + ] } ], "global": { @@ -185,7 +197,9 @@ "groups": [ { "group": "Introduction", - "pages": ["base-account/overview/what-is-base-account"] + "pages": [ + "base-account/overview/what-is-base-account" + ] }, { "group": "Quickstart", @@ -420,7 +434,9 @@ "groups": [ { "group": "Introduction", - "pages": ["base-app/introduction/beta-faq"] + "pages": [ + "base-app/introduction/beta-faq" + ] }, { "group": "Chat Agents", @@ -537,15 +553,21 @@ "pages": [ { "group": "Buy", - "pages": ["onchainkit/latest/components/buy/buy"] + "pages": [ + "onchainkit/latest/components/buy/buy" + ] }, { "group": "Checkout", - "pages": ["onchainkit/latest/components/checkout/checkout"] + "pages": [ + "onchainkit/latest/components/checkout/checkout" + ] }, { "group": "Earn", - "pages": ["onchainkit/latest/components/earn/earn"] + "pages": [ + "onchainkit/latest/components/earn/earn" + ] }, { "group": "Fund", @@ -678,7 +700,9 @@ }, { "group": "Token", - "pages": ["onchainkit/latest/utilities/token/format-amount"] + "pages": [ + "onchainkit/latest/utilities/token/format-amount" + ] }, { "group": "Wallet", @@ -780,15 +804,21 @@ "pages": [ { "group": "Buy", - "pages": ["onchainkit/buy/buy"] + "pages": [ + "onchainkit/buy/buy" + ] }, { "group": "Checkout", - "pages": ["onchainkit/checkout/checkout"] + "pages": [ + "onchainkit/checkout/checkout" + ] }, { "group": "Earn", - "pages": ["onchainkit/earn/earn"] + "pages": [ + "onchainkit/earn/earn" + ] }, { "group": "Fund", @@ -869,11 +899,15 @@ }, { "group": "Token", - "pages": ["onchainkit/api/get-tokens"] + "pages": [ + "onchainkit/api/get-tokens" + ] }, { "group": "Wallet", - "pages": ["onchainkit/api/get-portfolios"] + "pages": [ + "onchainkit/api/get-portfolios" + ] } ] }, @@ -933,7 +967,9 @@ }, { "group": "Token", - "pages": ["onchainkit/token/format-amount"] + "pages": [ + "onchainkit/token/format-amount" + ] }, { "group": "Wallet", @@ -1011,7 +1047,10 @@ }, { "group": "Build with AI", - "pages": ["cookbook/ai-prompting", "cookbook/base-builder-mcp"] + "pages": [ + "cookbook/ai-prompting", + "cookbook/base-builder-mcp" + ] }, { "group": "Vibe Code a Mini App", @@ -1058,394 +1097,8 @@ }, { "tab": "Showcase", - "pages": ["showcase"] - }, - { - "tab": "Learn", - "groups": [ - { - "group": "Building Onchain", - "pages": ["learn/welcome"] - }, - { - "group": "Onchain Concepts", - "pages": [ - "learn/onchain-concepts/core-concepts", - "learn/onchain-concepts/understanding-the-onchain-tech-stack", - { - "group": "Web2 vs Building Onchain", - "pages": [ - "learn/onchain-concepts/building-onchain-wallets", - "learn/onchain-concepts/building-onchain-identity", - "learn/onchain-concepts/building-onchain-gas", - "learn/onchain-concepts/building-onchain-nodes", - "learn/onchain-concepts/building-onchain-frontend-development", - "learn/onchain-concepts/building-onchain-onramps", - "learn/onchain-concepts/building-onchain-social-networks", - "learn/onchain-concepts/building-onchain-ai" - ] - }, - "learn/onchain-concepts/development-flow" - ] - }, - { - "group": "Introduction to Ethereum", - "pages": [ - "learn/introduction-to-ethereum/introduction-to-ethereum-vid", - "learn/introduction-to-ethereum/ethereum-dev-overview-vid", - "learn/introduction-to-ethereum/ethereum-applications", - "learn/introduction-to-ethereum/gas-use-in-eth-transactions", - "learn/introduction-to-ethereum/evm-diagram", - "learn/introduction-to-ethereum/guide-to-base" - ] - }, - { - "group": "Onchain App Development", - "pages": [ - { - "group": "Frontend Setup", - "pages": [ - "learn/onchain-app-development/frontend-setup/overview", - "learn/onchain-app-development/frontend-setup/building-an-onchain-app", - "learn/onchain-app-development/frontend-setup/wallet-connectors", - "learn/onchain-app-development/frontend-setup/introduction-to-providers", - "learn/onchain-app-development/frontend-setup/viem", - "learn/onchain-app-development/frontend-setup/web3" - ] - }, - { - "group": "Writing to Contracts", - "pages": [ - "learn/onchain-app-development/writing-to-contracts/useWriteContract", - "learn/onchain-app-development/writing-to-contracts/useSimulateContract" - ] - }, - { - "group": "Reading and Displaying Data", - "pages": [ - "learn/onchain-app-development/reading-and-displaying-data/useReadContract", - "learn/onchain-app-development/reading-and-displaying-data/useAccount", - "learn/onchain-app-development/reading-and-displaying-data/configuring-useReadContract" - ] - }, - { - "group": "Account Abstraction", - "pages": [ - "learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster", - "learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-biconomy", - "learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster", - "learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-particle-network" - ] - }, - { - "group": "Cross-Chain Development", - "pages": [ - "learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero", - "learn/onchain-app-development/cross-chain/send-messages-and-tokens-from-base-chainlink" - ] - }, - { - "group": "Finance", - "pages": [ - "learn/onchain-app-development/finance/access-real-time-asset-data-pyth-price-feeds", - "learn/onchain-app-development/finance/access-real-world-data-chainlink", - "learn/onchain-app-development/finance/build-a-smart-wallet-funding-app" - ] - }, - { - "group": "Deploy with Fleek", - "pages": ["learn/onchain-app-development/deploy-with-fleek"] - } - ] - }, - { - "group": "Smart Contract Development", - "pages": [ - { - "group": "Introduction to Solidity", - "pages": [ - "learn/introduction-to-solidity/introduction-to-solidity-overview", - "learn/introduction-to-solidity/anatomy-of-a-smart-contract-vid", - { - "group": "Introduction to Solidity", - "pages": [ - "learn/introduction-to-solidity/introduction-to-solidity-vid", - "learn/introduction-to-solidity/solidity-overview", - "learn/introduction-to-solidity/introduction-to-remix-vid", - "learn/introduction-to-solidity/introduction-to-remix", - "learn/introduction-to-solidity/deployment-in-remix-vid", - "learn/introduction-to-solidity/deployment-in-remix" - ] - } - ] - }, - { - "group": "Contracts and Basic Functions", - "pages": [ - "learn/contracts-and-basic-functions/intro-to-contracts-vid", - "learn/contracts-and-basic-functions/hello-world-step-by-step", - "learn/contracts-and-basic-functions/basic-types", - "learn/contracts-and-basic-functions/basic-functions-exercise" - ] - }, - { - "group": "Deploying to a Testnet", - "pages": [ - "learn/deployment-to-testnet/overview-of-test-networks-vid", - "learn/deployment-to-testnet/test-networks", - "learn/deployment-to-testnet/deployment-to-base-sepolia-sbs", - "learn/deployment-to-testnet/contract-verification-sbs", - "learn/deployment-to-testnet/deployment-to-testnet-exercise" - ] - }, - { - "group": "Control Structures", - "pages": [ - "learn/control-structures/standard-control-structures-vid", - "learn/control-structures/loops-vid", - "learn/control-structures/require-revert-error-vid", - "learn/control-structures/control-structures", - "learn/control-structures/control-structures-exercise" - ] - }, - { - "group": "Storage in Solidity", - "pages": [ - "learn/storage/simple-storage-video", - "learn/storage/simple-storage-sbs", - "learn/storage/how-storage-works-video", - "learn/storage/how-storage-works", - "learn/storage/storage-exercise" - ] - }, - { - "group": "Arrays in Solidity", - "pages": [ - "learn/arrays/arrays-in-solidity-vid", - "learn/arrays/writing-arrays-in-solidity-vid", - "learn/arrays/arrays-in-solidity", - "learn/arrays/filtering-an-array-sbs", - "learn/arrays/fixed-size-arrays-vid", - "learn/arrays/array-storage-layout-vid", - "learn/arrays/arrays-exercise" - ] - }, - { - "group": "The Mapping Type", - "pages": [ - "learn/mappings/mappings-vid", - "learn/mappings/using-msg-sender-vid", - "learn/mappings/mappings-sbs", - "learn/mappings/how-mappings-are-stored-vid", - "learn/mappings/mappings-exercise" - ] - }, - { - "group": "Advanced Functions", - "pages": [ - "learn/advanced-functions/function-visibility-vid", - "learn/advanced-functions/function-visibility", - "learn/advanced-functions/function-modifiers-vid", - "learn/advanced-functions/function-modifiers" - ] - }, - { - "group": "Structs", - "pages": [ - "learn/structs/structs-vid", - "learn/structs/structs-sbs", - "learn/structs/structs-exercise" - ] - }, - { - "group": "Inheritance", - "pages": [ - "learn/inheritance/inheritance-vid", - "learn/inheritance/inheritance-sbs", - "learn/inheritance/multiple-inheritance-vid", - "learn/inheritance/multiple-inheritance", - "learn/inheritance/abstract-contracts-vid", - "learn/inheritance/abstract-contracts-sbs", - "learn/inheritance/inheritance-exercise" - ] - }, - { - "group": "Imports", - "pages": [ - "learn/imports/imports-vid", - "learn/imports/imports-sbs", - "learn/imports/imports-exercise" - ] - }, - { - "group": "Errors", - "pages": [ - "learn/error-triage/error-triage-vid", - "learn/error-triage/error-triage", - "learn/error-triage/error-triage-exercise" - ] - }, - { - "group": "The new Keyword", - "pages": [ - "learn/new-keyword/creating-a-new-contract-vid", - "learn/new-keyword/new-keyword-sbs", - "learn/new-keyword/new-keyword-exercise" - ] - }, - { - "group": "Contract to Contract Interactions", - "pages": [ - "learn/interfaces/intro-to-interfaces-vid", - "learn/interfaces/calling-another-contract-vid", - "learn/interfaces/testing-the-interface-vid", - "learn/interfaces/contract-to-contract-interaction" - ] - }, - { - "group": "Events", - "pages": ["learn/events/hardhat-events-sbs"] - }, - { - "group": "Address and Payable", - "pages": ["learn/address-and-payable/address-and-payable"] - } - ] - }, - { - "group": "Development with Foundry", - "pages": [ - "learn/foundry/deploy-with-foundry", - "learn/foundry/setup-with-base", - "learn/foundry/testing-smart-contracts", - "learn/foundry/verify-contract-with-basescan", - "learn/foundry/generate-random-numbers-contracts" - ] - }, - { - "group": "Development with Hardhat", - "pages": [ - { - "group": "Hardhat Setup and Overview", - "pages": [ - "learn/hardhat/hardhat-setup-overview/hardhat-overview-vid", - "learn/hardhat/hardhat-setup-overview/creating-a-project-vid", - "learn/hardhat/hardhat-setup-overview/hardhat-setup-overview-sbs" - ] - }, - { - "group": "Testing with Typescript", - "pages": [ - "learn/hardhat/hardhat-testing/testing-overview-vid", - "learn/hardhat/hardhat-testing/writing-tests-vid", - "learn/hardhat/hardhat-testing/contract-abi-and-testing-vid", - "learn/hardhat/hardhat-testing/hardhat-testing-sbs" - ] - }, - { - "group": "Etherscan", - "pages": [ - "learn/hardhat/etherscan/etherscan-sbs", - "learn/hardhat/etherscan/etherscan-vid" - ] - }, - { - "group": "Deploying Smart Contracts", - "pages": [ - "learn/hardhat/hardhat-deploy/installing-hardhat-deploy-vid", - "learn/hardhat/hardhat-deploy/setup-deploy-script-vid", - "learn/hardhat/hardhat-deploy/testing-our-deployment-vid", - "learn/hardhat/hardhat-deploy/test-network-configuration-vid", - "learn/hardhat/hardhat-deploy/deployment-vid", - "learn/hardhat/hardhat-deploy/hardhat-deploy-sbs" - ] - }, - { - "group": "Verifying Smart Contracts", - "pages": [ - "learn/hardhat/hardhat-verify/hardhat-verify-vid", - "learn/hardhat/hardhat-verify/hardhat-verify-sbs" - ] - }, - { - "group": "Mainnet Forking", - "pages": [ - "learn/hardhat/hardhat-forking/mainnet-forking-vid", - "learn/hardhat/hardhat-forking/hardhat-forking" - ] - }, - { - "group": "Hardhat Tools and Testing", - "pages": [ - "learn/hardhat/hardhat-tools-and-testing/overview", - "learn/hardhat/hardhat-tools-and-testing/debugging-smart-contracts", - "learn/hardhat/hardhat-tools-and-testing/analyzing-test-coverage", - "learn/hardhat/hardhat-tools-and-testing/optimizing-gas-usage", - "learn/hardhat/hardhat-tools-and-testing/reducing-contract-size", - "learn/hardhat/hardhat-tools-and-testing/deploy-with-hardhat" - ] - } - ] - }, - { - "group": "Token Development", - "pages": [ - { - "group": "Introduction to Tokens", - "pages": [ - "learn/token-development/intro-to-tokens/intro-to-tokens-vid", - "learn/token-development/intro-to-tokens/misconceptions-about-tokens-vid", - "learn/token-development/intro-to-tokens/tokens-overview" - ] - }, - { - "group": "Minimal Tokens", - "pages": [ - "learn/token-development/minimal-tokens/creating-a-minimal-token-vid", - "learn/token-development/minimal-tokens/transferring-a-minimal-token-vid", - "learn/token-development/minimal-tokens/minimal-token-sbs", - "learn/token-development/minimal-tokens/minimal-tokens-exercise" - ] - }, - { - "group": "ERC-20 Tokens", - "pages": [ - "learn/token-development/erc-20-token/analyzing-erc-20-vid", - "learn/token-development/erc-20-token/erc-20-standard", - "learn/token-development/erc-20-token/openzeppelin-erc-20-vid", - "learn/token-development/erc-20-token/erc-20-testing-vid", - "learn/token-development/erc-20-token/erc-20-token-sbs", - "learn/token-development/erc-20-token/erc-20-exercise" - ] - }, - { - "group": "ERC-721 Tokens", - "pages": [ - "learn/token-development/erc-721-token/erc-721-standard-video", - "learn/token-development/erc-721-token/erc-721-standard", - "learn/token-development/erc-721-token/erc-721-on-opensea-vid", - "learn/token-development/erc-721-token/openzeppelin-erc-721-vid", - "learn/token-development/erc-721-token/implementing-an-erc-721-vid", - "learn/token-development/erc-721-token/erc-721-sbs", - "learn/token-development/erc-721-token/erc-721-exercise" - ] - }, - { - "group": "NFT Guides", - "pages": [ - "learn/token-development/nft-guides/signature-mint", - "learn/token-development/nft-guides/dynamic-nfts", - "learn/token-development/nft-guides/complex-onchain-nfts", - "learn/token-development/nft-guides/simple-onchain-nfts", - "learn/token-development/nft-guides/thirdweb-unreal-nft-items" - ] - } - ] - }, - { - "group": "Exercise Contracts", - "pages": ["learn/exercise-contracts"] - } + "pages": [ + "showcase" ] } ] @@ -1885,54 +1538,6 @@ "source": "/chain/why-base", "destination": "/base-chain/quickstart/why-base" }, - { - "source": "/cookbook/account-abstraction/account-abstraction-on-base-using-biconomy", - "destination": "/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-biconomy" - }, - { - "source": "/cookbook/account-abstraction/account-abstraction-on-base-using-particle-network", - "destination": "/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-particle-network" - }, - { - "source": "/cookbook/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster", - "destination": "/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster" - }, - { - "source": "/cookbook/account-abstraction/gasless-transactions-with-paymaster", - "destination": "/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster" - }, - { - "source": "/cookbook/client-side-development/introduction-to-providers", - "destination": "/learn/onchain-app-development/frontend-setup/introduction-to-providers" - }, - { - "source": "/cookbook/client-side-development/viem", - "destination": "/learn/onchain-app-development/frontend-setup/viem" - }, - { - "source": "/cookbook/client-side-development/web3", - "destination": "/learn/onchain-app-development/frontend-setup/web3" - }, - { - "source": "/cookbook/cross-chain/bridge-tokens-with-layerzero", - "destination": "/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero" - }, - { - "source": "/cookbook/cross-chain/send-messages-and-tokens-from-base-chainlink", - "destination": "/learn/onchain-app-development/cross-chain/send-messages-and-tokens-from-base-chainlink" - }, - { - "source": "/cookbook/defi/access-real-time-asset-data", - "destination": "/learn/onchain-app-development/finance/access-real-time-asset-data-pyth-price-feeds" - }, - { - "source": "/cookbook/defi/access-real-world-data", - "destination": "/learn/onchain-app-development/finance/access-real-world-data-chainlink" - }, - { - "source": "/cookbook/defi/add-in-app-funding", - "destination": "/learn/onchain-app-development/finance/build-a-smart-wallet-funding-app" - }, { "source": "/cookbook/growth/cast-actions", "destination": "/cookbook/onchain-social" @@ -1957,58 +1562,14 @@ "source": "/cookbook/growth/retaining-users", "destination": "/cookbook/onchain-social" }, - { - "source": "/cookbook/ipfs/deploy-with-fleek", - "destination": "/learn/onchain-app-development/deploy-with-fleek" - }, - { - "source": "/cookbook/nfts/complex-onchain-nfts", - "destination": "/learn/token-development/nft-guides/complex-onchain-nfts" - }, - { - "source": "/cookbook/nfts/dynamic-nfts", - "destination": "/learn/token-development/nft-guides/dynamic-nfts" - }, - { - "source": "/cookbook/nfts/nft-minting-zora", - "destination": "/learn/token-development/intro-to-tokens/intro-to-tokens-vid" - }, - { - "source": "/cookbook/nfts/signature-mint", - "destination": "/learn/token-development/nft-guides/signature-mint" - }, - { - "source": "/cookbook/nfts/simple-onchain-nfts", - "destination": "/learn/token-development/nft-guides/simple-onchain-nfts" - }, - { - "source": "/cookbook/nfts/thirdweb-unreal-nft-items", - "destination": "/learn/token-development/nft-guides/thirdweb-unreal-nft-items" - }, { "source": "/cookbook/payments/build-ecommerce-app", "destination": "/onchainkit/checkout/checkout" }, - { - "source": "/cookbook/payments/deploy-shopify-storefront", - "destination": "/learn/welcome" - }, { "source": "/cookbook/payments/transaction-guide", "destination": "/cookbook/defi-your-app" }, - { - "source": "/cookbook/smart-contract-development/foundry/:slug*", - "destination": "/learn/foundry/:slug*" - }, - { - "source": "/cookbook/smart-contract-development/hardhat/:slug*", - "destination": "/learn/hardhat/hardhat-tools-and-testing/:slug*" - }, - { - "source": "/cookbook/smart-contract-development/remix/:slug*", - "destination": "/learn/introduction-to-solidity/deployment-in-remix" - }, { "source": "/cookbook/social/convert-farcaster-frame", "destination": "/cookbook/onchain-social" @@ -2021,10 +1582,6 @@ "source": "/cookbook/social/farcaster-no-code-nft-minting", "destination": "/cookbook/onchain-social" }, - { - "source": "/cookbook/token-gating/gate-irl-events-with-nouns", - "destination": "/learn/welcome" - }, { "source": "/cookbook/use-case-guides/cast-actions", "destination": "/cookbook/onchain-social" @@ -2033,10 +1590,6 @@ "source": "/cookbook/use-case-guides/commerce/build-an-ecommerce-app", "destination": "/onchainkit/checkout/checkout" }, - { - "source": "/cookbook/use-case-guides/commerce/deploy-a-shopify-storefront", - "destination": "/learn/welcome" - }, { "source": "/cookbook/use-case-guides/create-email-campaigns", "destination": "/cookbook/onchain-social" @@ -2045,26 +1598,10 @@ "source": "/cookbook/use-case-guides/creator/convert-farcaster-frame-to-open-frame", "destination": "/cookbook/onchain-social" }, - { - "source": "/cookbook/use-case-guides/creator/nft-minting-with-zora", - "destination": "/learn/token-development/intro-to-tokens/intro-to-tokens-vid" - }, { "source": "/cookbook/use-case-guides/deploy-to-vercel", "destination": "/base-app/build-with-minikit/quickstart#deploying-to-vercel" }, - { - "source": "/cookbook/use-case-guides/finance/access-real-time-asset-data-pyth-price-feeds", - "destination": "/learn/onchain-app-development/finance/access-real-time-asset-data-pyth-price-feeds" - }, - { - "source": "/cookbook/use-case-guides/finance/access-real-world-data-chainlink", - "destination": "/learn/onchain-app-development/finance/access-real-world-data-chainlink" - }, - { - "source": "/cookbook/use-case-guides/finance/build-a-smart-wallet-funding-app", - "destination": "/learn/onchain-app-development/finance/build-a-smart-wallet-funding-app" - }, { "source": "/cookbook/use-case-guides/gating-and-redirects", "destination": "/cookbook/onchain-social" @@ -2445,142 +1982,6 @@ "source": "/smart-wallet/:slug*", "destination": "/base-account/:slug*" }, - { - "source": "/learn/account-abstraction", - "destination": "/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster" - }, - { - "source": "/learn/client-side-development", - "destination": "/learn/onchain-app-development/frontend-setup/introduction-to-providers" - }, - { - "source": "/learn/cross-chain-development", - "destination": "/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero" - }, - { - "source": "/learn/deploy-with-fleek", - "destination": "/learn/onchain-app-development/deploy-with-fleek" - }, - { - "source": "/learn/development-tools/overview", - "destination": "/learn/welcome" - }, - { - "source": "/learn/erc-20-token/:slug*", - "destination": "/learn/token-development/erc-20-token/:slug*" - }, - { - "source": "/learn/erc-721-token/:slug*", - "destination": "/learn/token-development/erc-721-token/:slug*" - }, - { - "source": "/learn/ethereum-applications", - "destination": "/learn/introduction-to-ethereum/ethereum-applications" - }, - { - "source": "/learn/ethereum-dev-overview", - "destination": "/learn/introduction-to-ethereum/ethereum-dev-overview-vid" - }, - { - "source": "/learn/etherscan/:slug*", - "destination": "/learn/hardhat/etherscan/:slug*" - }, - { - "source": "/learn/evm-diagram", - "destination": "/learn/introduction-to-ethereum/evm-diagram" - }, - { - "source": "/learn/frontend-setup/:slug*", - "destination": "/learn/onchain-app-development/frontend-setup/:slug*" - }, - { - "source": "/learn/gas-use-in-eth-transactions", - "destination": "/learn/introduction-to-ethereum/gas-use-in-eth-transactions" - }, - { - "source": "/learn/guide-to-base", - "destination": "/learn/introduction-to-ethereum/guide-to-base" - }, - { - "source": "/learn/hardhat-deploy/:slug*", - "destination": "/learn/hardhat/hardhat-deploy/:slug*" - }, - { - "source": "/learn/hardhat-forking/:slug*", - "destination": "/learn/hardhat/hardhat-forking/:slug*" - }, - { - "source": "/learn/hardhat-setup-overview/:slug*", - "destination": "/learn/hardhat/hardhat-setup-overview/:slug*" - }, - { - "source": "/learn/hardhat-testing/:slug*", - "destination": "/learn/hardhat/hardhat-testing/:slug*" - }, - { - "source": "/learn/hardhat-tools-and-testing/overview", - "destination": "/learn/hardhat/hardhat-tools-and-testing/overview" - }, - { - "source": "/learn/hardhat-verify/:slug*", - "destination": "/learn/hardhat/hardhat-verify/:slug*" - }, - { - "source": "/learn/help-on-discord", - "destination": "/learn/welcome" - }, - { - "source": "/learn/intro-to-tokens/:slug*", - "destination": "/learn/token-development/intro-to-tokens/:slug*" - }, - { - "source": "/learn/introduction-to-ethereum", - "destination": "/learn/introduction-to-ethereum/introduction-to-ethereum-vid" - }, - { - "source": "/learn/learning-objectives", - "destination": "/learn/welcome" - }, - { - "source": "/learn/minimal-tokens/:slug*", - "destination": "/learn/token-development/minimal-tokens/:slug*" - }, - { - "source": "/learn/reading-and-displaying-data/:slug*", - "destination": "/learn/onchain-app-development/reading-and-displaying-data/:slug*" - }, - { - "source": "/learn/writing-to-contracts/:slug*", - "destination": "/learn/onchain-app-development/writing-to-contracts/:slug*" - }, - { - "source": "/base-learn/progress", - "destination": "/learn/welcome" - }, - { - "source": "/tutorials/intro-to-foundry-setup", - "destination": "/learn/foundry/deploy-with-foundry" - }, - { - "source": "/tutorials/hardhat-profiling-gas", - "destination": "/learn/hardhat/hardhat-tools-and-testing/optimizing-gas-usage" - }, - { - "source": "/tutorials/hardhat-profiling-size", - "destination": "/learn/hardhat/hardhat-tools-and-testing/reducing-contract-size" - }, - { - "source": "/tutorials/hardhat-debugging", - "destination": "/learn/hardhat/hardhat-tools-and-testing/debugging-smart-contracts" - }, - { - "source": "/tutorials/hardhat-test-coverage", - "destination": "/learn/hardhat/hardhat-tools-and-testing/analyzing-test-coverage" - }, - { - "source": "/tutorials/intro-to-providers", - "destination": "/learn/onchain-app-development/frontend-setup/introduction-to-providers" - }, { "source": "/network-information", "destination": "/base-chain/quickstart/connecting-to-base" @@ -2593,10 +1994,6 @@ "source": "/tools/network-faucets", "destination": "/base-chain/tools/network-faucets" }, - { - "source": "/tutorials", - "destination": "/learn" - }, { "source": "/tutorials/deploy-with-foundry", "destination": "/cookbook/smart-contract-development/foundry/deploy-with-foundry" @@ -2844,11 +2241,19 @@ { "source": "/mini-apps/technical-reference/minikit/hooks/useNotification", "destination": "/onchainkit/latest/components/minikit/hooks/useNotification" + }, + { + "source": "/learn/:slug*", + "destination": "https://github.com/base/learn-docs" } ], "integrations": { "ga4": { "measurementId": "G-TKCM02YFWN" } + }, + "banner": { + "content": "The Learn section has been deprecated. Access the archived content at [github.com/base/learn-docs](https://github.com/base/learn-docs).", + "dismissible": true } } diff --git a/docs/learn/address-and-payable/address-and-payable.mdx b/docs/learn/address-and-payable/address-and-payable.mdx deleted file mode 100644 index 1878e6acf..000000000 --- a/docs/learn/address-and-payable/address-and-payable.mdx +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Address and Payable in Solidity -sidebarTitle: Guide -description: A comprehensive guide to understanding and using address and payable address types in Solidity. -hide_table_of_contents: false ---- - -Understanding address and payable address types is crucial for managing Ether transfers and interactions within your Solidity contracts. This article will delve into their key distinctions and practical applications. - ---- - -## Objectives - -By the end of this lesson, you should be able to: - -- Differentiate between address and address payable types in Solidity -- Determine when to use each type appropriately in contract development -- Employ address payable to send Ether and interact with payable functions - ---- - -## Ethereum Addresses - -In Solidity, Ethereum addresses play a crucial role in interacting with the Ethereum blockchain. An Ethereum address is a 20-byte hexadecimal string that represents the destination of transactions or the owner of a smart contract. These addresses are used to send and receive Ether and interact with smart contracts. - -### Addresses - -Regular addresses in Solidity are used for various purposes, including: - -- Identifying the owner of a smart contract -- Sending Ether from one address to another -- Checking the balance of an address - Here's an example of declaring a regular address variable in Solidity: - -
- -```solidity -address public owner; -``` - -### Payable Addresses - -`payable` keyword is a language-level feature provided by Solidity to enable the handling of Ether within smart contracts, and it is not a feature of the Ethereum Virtual Machine itself, but rather a part of the Solidity language's syntax. They are used when you want a contract to be able to receive Ether from external sources, such as other contracts or user accounts. - -Payable addresses are often used when creating crowdfunding or token sale contracts, where users send Ether to the contract's address in exchange for tokens or to fund a project. - -Here's an example of declaring a payable address variable in Solidity: - -```solidity -address payable public projectWallet; -``` - -Payable [Address] are marked as payable, which means they can accept incoming Ether transactions. It's important to note that regular addresses cannot receive Ether directly. - -## Receiving Ether with Payable Addresses - -To receive Ether in a contract using a payable address, you need to define a payable function that can accept incoming transactions. This function is typically named receive or fallback. Here's an example: - -```solidity -fallback() external payable { - // Handle the incoming Ether here -} -``` - -In this example, the fallback function is marked as external and payable, which means it can receive Ether when someone sends it to the contract's address. You can then add custom logic to handle the received Ether, such as updating contract balances or triggering specific actions. - -## Usage - -```solidity -contract PaymentReceiver { - address payable owner; - - constructor() payable { - owner = payable(msg.sender); // Convert msg.sender to payable - } - - function receiveEther() public payable { - // This function can receive Ether - } - - function withdrawEther() public { - owner.transfer(address(this).balance); // Send Ether to owner - } -} -``` - -## Conclusion - -Appropriately using address and address payable types is essential for secure and efficient Solidity contract development. By understanding their distinctions and applying them correctly, you can effectively manage Ether transfers and interactions within your contracts. - -[Address]: https://docs.soliditylang.org/en/latest/types.html#address diff --git a/docs/learn/advanced-functions/function-modifiers-vid.mdx b/docs/learn/advanced-functions/function-modifiers-vid.mdx deleted file mode 100644 index 21a9fa35f..000000000 --- a/docs/learn/advanced-functions/function-modifiers-vid.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Function Modifiers -description: Use modifiers to control how functions work. -hide_table_of_contents: false ---- - -import { Video } from '/snippets/VideoPlayer.mdx'; - -