diff --git a/docs/cookie-policy.mdx b/docs/cookie-policy.mdx
index d1f094b6c..b584d9504 100644
--- a/docs/cookie-policy.mdx
+++ b/docs/cookie-policy.mdx
@@ -76,9 +76,9 @@ please note, if you set your browser to disable cookies, you may not be able to
of our Services. Also, if you disable cookies, other parts of our Services may not function properly.
There are also additional tools available to manage third party cookies. You can visit the DAA's
-opt-out portal available at [optout.aboutads.info](http://optout.aboutads.info/), the DAA of Canada's
+opt-out portal available at [optout.aboutads.info](https://optout.aboutads.info/), the DAA of Canada's
opt-out portal available at [youradchoices.ca/en/tools](https://youradchoices.ca/en/tools), or visit
-the NAI's opt-out portal available at [optout.networkadvertising.org](http://optout.networkadvertising.org/?c=1).
+the NAI's opt-out portal available at [optout.networkadvertising.org](https://optout.networkadvertising.org/?c=1).
Residents of the European Union may opt-out of online behavioural advertising served by the European
Interactive Digital Advertising Alliance's participating member organizations by visiting
[youronlinechoices.eu](https://www.youronlinechoices.eu/) or through your mobile device settings,
diff --git a/docs/get-started/base-mentorship-program.mdx b/docs/get-started/base-mentorship-program.mdx
index a40c0d644..4b10bbac3 100644
--- a/docs/get-started/base-mentorship-program.mdx
+++ b/docs/get-started/base-mentorship-program.mdx
@@ -23,7 +23,7 @@ Base Mentors are experienced founders, operators, and subject matter experts acr
| Anthony Bassili | [Coinbase Asset Management](https://x.com/SmartestBeta) |
| Antonio García Martínez | [Spindl (acq. Coinbase)](https://x.com/antoniogm) |
| Conor Grogan | [Coinbase](https://x.com/jconorgrogan) |
-| Conner Swenberg | [Station Labs (acq. Coinbase)](http://x.com/ilikesymmetry) |
+| Conner Swenberg | [Station Labs (acq. Coinbase)](https://x.com/ilikesymmetry) |
| Dariush Aghai | [Study Hall Creative](https://studyhall.design/about) |
| David Espinel | [Social Graph Ventures](https://www.socialgraph.vc/team) |
| Elena Nadolinski | [Iron Fish (acq. Coinbase)](https://x.com/leanthebean) |
diff --git a/docs/get-started/base-services-hub.mdx b/docs/get-started/base-services-hub.mdx
index dd1b902d0..b4c81acf5 100644
--- a/docs/get-started/base-services-hub.mdx
+++ b/docs/get-started/base-services-hub.mdx
@@ -19,7 +19,7 @@ Thank you to all the teams supporting the Base ecosystem and its builders! If yo
| [Acctual](https://www.acctual.com/) | Invoicing | The easiest way to pay or send an invoice (AP/AR) in crypto and fiat. | 3 months of fee free invoicing on Base. | Acctual users who invoice on Base will receive fee free invoicing for the first 3 months, on all Base invoices.
Users will need to reach out to support@acctual.com to redeem this offer. |
| [Almanax](https://www.almanax.ai/) | AI & Security | Almanax is an AI Security Engineer that uses LLMs to find security vulnerabilities every time companies push new code. | Base builders can get their first three months of Almanax premium plan for free. | Sign up for Almanax's product at https://app.almanax.ai/
Fill out this form and enter this promo code in the message field: "BASE-ALMANAX-DEAL"
Once approved, you'll receive a confirmation emails. |
| [Anchor Zero](anchorzero.com) | Tax Planning | AnchorZero Roth IRAs can eliminate capital gains tax on pre-launch token investments | Waive all implementation fees | Mention you are building on Base in your introductory call with AnchorZero. |
-| [Api3](https://www.api3.org/) | Oracle's / Data Infrastructure | API3 is an oracle service that delivers Real World Price Feeds to your smart contract. The Price feeds provided allow dapps to regain lost value with Oracle Extractable Value built in to the feed. | If you are a lending dapp deploying on BASE, stable coin, morpho curator, borrow/lending dapp we will provide oracle services to your markets. | Contact: http://t.me/billyjitsu
Or Request: https://api3dao.typeform.com/to/TBTu8bJt
The team will reach out and discuss the options for gas grants for oracle services. |
+| [Api3](https://www.api3.org/) | Oracle's / Data Infrastructure | API3 is an oracle service that delivers Real World Price Feeds to your smart contract. The Price feeds provided allow dapps to regain lost value with Oracle Extractable Value built in to the feed. | If you are a lending dapp deploying on BASE, stable coin, morpho curator, borrow/lending dapp we will provide oracle services to your markets. | Contact: https://t.me/billyjitsu
Or Request: https://api3dao.typeform.com/to/TBTu8bJt
The team will reach out and discuss the options for gas grants for oracle services. |
| [Artemis](artemis.xyz) | Onchain Analytics | Artemis standardizes digital finance data into a single open data platform. Metrics that matter for digital finance. All in one place. | Artemis is offering free, out-of-the-box onchain metrics dashboards for Base builder's applications. | Please fill out the [Google Form](https://forms.gle/ZDS9LkxSBJVJonR36) with your application metadata and contract information. We will contact your email once your application dashboard has been created. |
| [Birdeye ](https://bds.birdeye.so/) | Data Analytics - Data API - Developer Tools | Birdeye Data Services is a high-performance data provider that delivers real-time, accurate, and comprehensive on-chain data across tokens, wallets, trades, and protocols. | - Startup/Projects get 30% OFF for first 6 months - Free access to our full Business Lite package (valued at $299) for teams participating in Hackathons or Base Batches during the program period. | Apply [here](https://docs.google.com/forms/d/e/1FAIpQLSfkv8JWR1WWq7Biqx5yyDvF6belUtdbR37mddludfu-boI34Q/viewform)
We will be in touch once the application has been reviewed. For any other inquiries, please reach out to BDS on Telegram: @birdeye_data. |
| [Cantina](https://cantina.xyz/welcome) | Security | Cantina is the one-stop shop for the highest quality security researchers and solutions. Reduce the likelihood of hacks, time spent, and context lost. | 10% off all services including audits, audit competitions, pen-testing, architecture reviews, fuzzing/unit/e2e testing 50% off of bug bounty hosting for the first year | https://cantina.xyz/introduction/base-cantina |
@@ -89,4 +89,4 @@ Thank you to all the teams supporting the Base ecosystem and its builders! If yo
| [Sealaunch Intelligence](http://sealaunch.xyz/) | Onchain Intelligence Advisory, Data Analytics, Custom Dune Dashboards | Onchain intelligence and strategic advisory for crypto companies. We conduct private research to drive growth and revenue decisions and create custom Dune Dashboards. | 15% discount with a minimum three-month engagement. | Fill out this [typeform](https://3spxelklbj0.typeform.com/to/NpNyMq98?utm_source=base) |
| [Spotlight Crypto](https://www.spotlightcrypto.xyz/) | Full Stack App Development | We build full stack apps on the frontier of crypto social, from ideation to design to smart contracts to GTM. | 15 mins free review / feedback sessions. | hello@spotlightcrypto.xyz |
| [Tarun Thusu](https://tarunthusu.com/portfolio.pdf) | Product and Brand design | I’m a product and brand designer with over 6 years of experience, helping businesses turn ideas into beautiful and functional digital products. From brand identity to user-focused product design, I build visuals, systems, and experiences that make products feel premium, intuitive, and memorable. | 20% discount and fast delivery of work. | Telegram: @tarunth |
-| [Vacuumlabs](http://www.vacuumlabs.com/) | Software house / Development + design studio | Dev studio with 13 years in Fintech and 7 years in Crypto, we can help augment teams with experienced devs who are top talent from Central Europe; or we can design build and test entire apps in end2end delivery. Our services range from building a neobank MOX for Standard Chartered, to building decentralized onchain apps. | 10% discount for Base ecosystem clients. (Rates 400-1000 EUR/MD based on seniority) | peter.hucik@vacuumlabs.com, TG: @hukusik, or TG: @PenguDamien |
+| [Vacuumlabs](https://www.vacuumlabs.com/) | Software house / Development + design studio | Dev studio with 13 years in Fintech and 7 years in Crypto, we can help augment teams with experienced devs who are top talent from Central Europe; or we can design build and test entire apps in end2end delivery. Our services range from building a neobank MOX for Standard Chartered, to building decentralized onchain apps. | 10% discount for Base ecosystem clients. (Rates 400-1000 EUR/MD based on seniority) | peter.hucik@vacuumlabs.com, TG: @hukusik, or TG: @PenguDamien |
diff --git a/docs/iframe-theme.js b/docs/iframe-theme.js
index 35287274c..4501a8db7 100644
--- a/docs/iframe-theme.js
+++ b/docs/iframe-theme.js
@@ -53,7 +53,7 @@
document.addEventListener("DOMContentLoaded", updateIframesForDarkMode);
} else {
setTimeout(updateIframesForDarkMode, 100);
- // TODO: add Storybook with Darkmode enabled
+ // Storybook darkmode implementation pending
let themeChangeCount = 0;
const themeChangeInterval = setInterval(() => {
if (themeChangeCount < 2) {
diff --git a/docs/learn/arrays/filtering-an-array-sbs.mdx b/docs/learn/arrays/filtering-an-array-sbs.mdx
index 608f24782..813f286d5 100644
--- a/docs/learn/arrays/filtering-an-array-sbs.mdx
+++ b/docs/learn/arrays/filtering-an-array-sbs.mdx
@@ -28,7 +28,8 @@ contract ArrayDemo {
uint[] public numbers = [1,2,3,4,5,6,7,8,9,10];
function getEvenNumbers() external view returns(uint[] memory) {
- // TODO
+ // TODO: Filter and return only the even numbers from the numbers array
+ // Hint: You'll need to count them first to allocate memory
}
}
```
diff --git a/docs/learn/deployment-to-testnet/test-networks.mdx b/docs/learn/deployment-to-testnet/test-networks.mdx
index 6b21c62af..a16deb240 100644
--- a/docs/learn/deployment-to-testnet/test-networks.mdx
+++ b/docs/learn/deployment-to-testnet/test-networks.mdx
@@ -67,21 +67,31 @@ Several well-known testnets have emerged over the years, each with its own set o

-### L1 Testnets
+### Active Testnets (Recommended)
-- **Ropsten:** Ropsten played a significant role in Ethereum's history but was effectively deprecated by late 2022 when the Merge took place. The Merge marked the transition from proof-of-work to proof-of-stake consensus for the Ethereum mainnet. Ropsten's vulnerability to spam attacks and network instability made it unreliable for testing purposes.
+#### Base Sepolia (L2)
+Base Sepolia is the recommended testnet for all Base development. It settles on the Ethereum Sepolia L1 testnet and provides an environment for testing L2-specific features and smart contracts.
-- **Rinkeby:** Rinkeby offered better security than Ropsten and used a proof-of-authority consensus mechanism. However, it lacked decentralization and client diversity, which ultimately led to its decline in popularity. After the Merge, Rinkeby is no longer a recommended test network.
+#### Sepolia (L1)
+Sepolia is the primary stable testnet for Ethereum development. It is designed for developers seeking a lighter weight chain for faster synchronization and interaction. It is the preferred testnet for L1 development.
-- **Goerli:** Launched in early 2019, Goerli initially utilized a multi-client proof-of-authority consensus model to improve stability and security. Following the Merge, it transitioned to a proof-of-stake consensus mechanism, maintaining its cross-client compatibility and making it an ideal choice for developers. As of January 2024, Goerli is being sunset in favor of Sepolia.
+#### Optimism Sepolia (L2)
+Optimism Sepolia is built on the Ethereum Sepolia L1 testnet and offers a testing environment for Optimism's Layer-2 features.
-- **Sepolia:** As one of the two original primary testnets alongside Goerli, Sepolia is designed for developers seeking a lighter weight chain for faster synchronization and interaction. As of January 2024, it is now the preferred testnet and developers should migrate to using it.
+---
+
+### Deprecated Testnets
+
+The following networks are deprecated and should not be used for new development:
-### L2 Testnets
+#### Goerli (L1)
+Launched in early 2019, Goerli was a popular multi-client testnet. As of January 2024, Goerli has been sunset in favor of Sepolia.
-- **Base Sepolia:** As new Layer-2 networks emerged that settled on Ethereum's Layer-1, the need for testnets dedicated to these L2 networks also arose. For instance, the L2 network Base has its own testnet, known as Base Sepolia. This testnet settles on the Ethereum Sepolia L1 testnet, providing an environment for testing L2-specific features and smart contracts.
+#### Ropsten (L1)
+Ropsten was deprecated in late 2022 after the Merge. It is no longer supported.
-- **Optimism Sepolia:** Optimism, an Ethereum Layer-2 scaling solution utilizing Optimistic Rollups, has its own testnet called Optimism Sepolia. This testnet is also built on the Ethereum Sepolia L1 testnet and offers a testing environment for developers to experiment with Optimism's Layer-2 features, smart contracts, and apps.
+#### Rinkeby (L1)
+Rinkeby was deprecated after the Merge and is no longer supported.
---
diff --git a/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx b/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx
index 5f86a1aa9..2bc0844a8 100644
--- a/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx
+++ b/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx
@@ -508,7 +508,8 @@ Simply grab the first wallet in the list (you'll want to do something more elega
const { wallets } = useWallets();
// Grab the first wallet on the list
-// TODO: Implement the option to allow the user to choose another wallet
+// Note: For this demo, we simply default to the first wallet. In a production app,
+// you should add a UI to allow the user to select which wallet to use.
const wallet = wallets[0];
```
diff --git a/docs/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero.mdx b/docs/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero.mdx
index 3fefab957..a2c408151 100644
--- a/docs/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero.mdx
+++ b/docs/learn/onchain-app-development/cross-chain/bridge-tokens-with-layerzero.mdx
@@ -48,7 +48,7 @@ The ETH is required for covering gas fees associated with deploying smart contra
LayerZero is an interoperability protocol that allows developers to build applications (and tokens) that can connect to multiple blockchains. LayerZero defines these types of applications as "omnichain" applications.
-The LayerZero protocol is made up of immutable on-chain [Endpoints](https://docs.layerzero.network/v2/concepts/protocol/layerzero-endpoint), a configurable [Security Stack](https://docs.layerzero.network/explore/decentralized-verifier-networks), and a permissionless set of [Executors](https://docs.layerzero.network/v2/concepts/permissionless-execution/executors) that transfer messages between chains.
+The LayerZero protocol is made up of immutable onchain [Endpoints](https://docs.layerzero.network/v2/concepts/protocol/layerzero-endpoint), a configurable [Security Stack](https://docs.layerzero.network/explore/decentralized-verifier-networks), and a permissionless set of [Executors](https://docs.layerzero.network/v2/concepts/permissionless-execution/executors) that transfer messages between chains.
### High-level concepts
diff --git a/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx b/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx
index 80ef241c9..cde989dcd 100644
--- a/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx
+++ b/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx
@@ -226,7 +226,7 @@ const config = createConfig({
ssr: true,
transports: {
[base.id]: http('YOUR PROJECT URL'),
- [mainnet.id]: http('TODO'),
+ // [mainnet.id]: http('https://mainnet.base.org'),
},
});
```
diff --git a/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx b/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx
index 52e36ed11..9b465274d 100644
--- a/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx
+++ b/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx
@@ -98,7 +98,7 @@ export function IssueList() {
return (