(false);
+
+ // Debounced address resolution
+ const resolveAddress = useCallback(async (address: string) => {
+ if (!address.trim()) return;
+
+ setIsResolvingAddress(true);
+ try {
+ const type = addressResolver.getInputType(address);
+
+ if (type === 'Ethereum Address') {
+ setResolvedAddress(address);
+ } else {
+ const resolved = await addressResolver.resolveAddress(address);
+ setResolvedAddress(resolved);
+ }
+ } catch (error) {
+ setErrors(prev => ({
+ ...prev,
+ address: error instanceof Error ? error.message : 'Failed to resolve address'
+ }));
+ } finally {
+ setIsResolvingAddress(false);
+ }
+ }, []);
+
+ return (
+
+ );
+};
+```
+
+### Setup and Development
+
+```bash Terminal expandable
+# Clone and setup
+git clone https://github.com/base/sol2base.git
+cd sol2base
+npm install --legacy-peer-deps
+
+# Environment setup
+cp env.template .env.local
+# Add Coinbase Developer Platform (CDP) API credentials for faucet (optional)
+
+# Start development server
+npm run dev
+# Open http://localhost:3000
+```
+
+
+**Get your Coinbase Developer Platform (CDP) API credentials from the [the portal](https://portal.cdp.coinbase.com/projects/api-keys/client-key).**
+
+The example above uses the Coinbase Developer Platform faucet for SOL.
+To get access to the faucet API, you can follow the instructions [here](https://docs.cdp.coinbase.com/faucets/introduction/welcome).
+
+
+## Contract Addresses
+
+### Base Sepolia
+
+```json
+{
+ "Bridge": "0xB2068ECCDb908902C76E3f965c1712a9cF64171E",
+ "CrossChainERC20Factory": "0x58207331CBF8Af87BB6453b610E6579D9878e4EA",
+ "WrappedSOL": "0xC5b9112382f3c87AFE8e1A28fa52452aF81085AD"
+}
+```
+
+### Solana Devnet
+
+```json
+{
+ "BridgeProgram": "HSvNvzehozUpYhRBuCKq3Fq8udpRocTmGMUYXmCSiCCc",
+ "BaseRelayerProgram": "ExS1gcALmaA983oiVpvFSVohi1zCtAUTgsLj5xiFPPgL"
+}
+```
+
+## Troubleshooting
+
+
+
+ * Ensure sufficient ETH for gas fees
+ * For ERC20 tokens, approve the bridge contract first using `approve()`
+ * Verify token addresses are correct and match the expected format
+ * Check that your private key is correctly set in the `.env` file
+
+
+
+ * Wait at least 15 minutes for message relay
+ * Check that your Base transaction was successful and included a `MessageRegistered` event
+ * Verify you're using the correct network (testnet/devnet)
+ * Ensure the Solana bridge has processed the Base block number
+
+
+
+ * Ensure you're using the latest Base block number from the Solana bridge
+ * Verify the message hash matches the original transaction
+ * Check that the proof was generated at the correct block height
+ * Make sure all account addresses are correctly derived
+
+
+
+ * Verify you have sufficient SOL to pay for relay fees
+ * Check that the Base Relayer program is properly configured
+ * Ensure the outgoing message was created successfully
+ * Monitor both Solana and Base explorers for transaction status
+
+
+
+## Security
+
+
+ **Important Security Notes:**
+
+ * Only use testnet funds (Solana devnet SOL and Base Sepolia ETH)
+ * Validate all addresses before bridging
+ * Monitor transactions on both chains
+ * Keep your private keys secure and never share them
+
+
+## Resources
+
+
+
+ View source code and examples
+
+
+
+ Monitor Solana devnet transactions
+
+
+
+ Monitor Base Sepolia transactions
+
+
+
+ Get help from the community
+
+
diff --git a/docs/base-chain/quickstart/bridge-token.mdx b/docs/base-chain/quickstart/bridge-token.mdx
index 4810fcba..6395a39c 100644
--- a/docs/base-chain/quickstart/bridge-token.mdx
+++ b/docs/base-chain/quickstart/bridge-token.mdx
@@ -1,6 +1,6 @@
---
title: "Bridging an L1 token to Base"
-sidebarTitle: 'Bridge Tokens to Base'
+sidebarTitle: 'Base-Mainnet Bridge'
description: How to submit ERC-20 tokens for bridging between Ethereum and Base as a token issuer.
---
diff --git a/docs/docs.json b/docs/docs.json
index 99e6c07c..d9b4057c 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -84,7 +84,8 @@
"base-chain/quickstart/why-base",
"base-chain/quickstart/deploy-on-base",
"base-chain/quickstart/connecting-to-base",
- "base-chain/quickstart/bridge-token"
+ "base-chain/quickstart/bridge-token",
+ "base-chain/quickstart/base-solana-bridge"
]
},
{