Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ package-lock.json




# Remote content output paths
content/docs/acps/103-dynamic-fees.mdx
content/docs/acps/108-evm-event-importing.mdx
Expand All @@ -163,7 +162,6 @@ content/docs/acps/209-eip7702-style-account-abstraction.mdx
content/docs/acps/224-dynamic-gas-limit-in-subnet-evm.mdx
content/docs/acps/226-dynamic-minimum-block-times.mdx
content/docs/acps/23-p-chain-native-transfers.mdx
content/docs/acps/236-continuous-staking.mdx
content/docs/acps/24-shanghai-eips.mdx
content/docs/acps/25-vm-application-errors.mdx
content/docs/acps/30-avalanche-warp-x-evm.mdx
Expand Down
30 changes: 28 additions & 2 deletions app/docs/docs-layout-wrapper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { DocsSubNav } from '@/components/navigation/docs-subnav';
import { DocsNavbarToggle } from '@/components/navigation/docs-navbar-toggle';
import { ForceMobileSidebar } from '@/components/navigation/force-mobile-sidebar';
import { NavbarDropdownInjector } from '@/components/navigation/navbar-dropdown-injector';
import {
import {
BookOpen,
Code,
Layers,
Expand All @@ -22,7 +22,8 @@ import {
CircleDollarSign,
Terminal,
Package,
Milestone
Milestone,
LayoutTemplate
} from 'lucide-react';

interface DocsLayoutWrapperProps {
Expand All @@ -32,6 +33,7 @@ interface DocsLayoutWrapperProps {
rpcsTree: any;
toolingTree: any;
acpsTree: any;
templatesTree: any;
}

export function DocsLayoutWrapper({
Expand All @@ -41,6 +43,7 @@ export function DocsLayoutWrapper({
rpcsTree,
toolingTree,
acpsTree,
templatesTree,
}: DocsLayoutWrapperProps) {
const pathname = usePathname();

Expand All @@ -61,6 +64,8 @@ export function DocsLayoutWrapper({
document.body.setAttribute('data-docs-section', 'api-reference');
} else if (pathname.startsWith('/docs/rpcs')) {
document.body.setAttribute('data-docs-section', 'rpcs');
} else if (pathname.startsWith('/docs/templates')) {
document.body.setAttribute('data-docs-section', 'templates');
} else if (pathname.startsWith('/docs')) {
document.body.setAttribute('data-docs-section', 'documentation');
}
Expand Down Expand Up @@ -228,6 +233,22 @@ export function DocsLayoutWrapper({
},
];

// Templates hamburger menu options
const templatesOptions = [
{
title: 'x402 Starter Kit',
description: 'Payment-gated APIs with micropayments',
icon: <CircleDollarSign className="w-5 h-5" />,
url: '/docs/templates/x402-starter-kit',
},
{
title: 'EncryptedERC',
description: 'Private transactions with zero-knowledge proofs',
icon: <Code className="w-5 h-5" />,
url: '/docs/templates/encrypted-erc',
},
];

// Determine which section we're in and get the appropriate tree
let pageTree;
let sidebarOptions: any = {};
Expand All @@ -247,6 +268,11 @@ export function DocsLayoutWrapper({
sidebarOptions = {
tabs: toolingOptions,
};
} else if (pathname.startsWith('/docs/templates')) {
pageTree = templatesTree;
sidebarOptions = {
tabs: templatesOptions,
};
} else if (pathname.startsWith('/docs/acps')) {
pageTree = acpsTree;
// No hamburger menu for ACPs - explicitly disable tabs
Expand Down
7 changes: 5 additions & 2 deletions app/docs/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import type { ReactNode } from 'react';
import { baseOptions } from '@/app/layout.config';
import {
import {
getDocumentationTree,
getApiReferenceTree,
getRpcsTree,
getToolingTree,
getAcpsTree
getAcpsTree,
getTemplatesTree
} from '@/lib/source';
import { DocsLayoutWrapper } from './docs-layout-wrapper';
import { LayoutWrapper } from '@/app/layout-wrapper.client';
Expand All @@ -19,6 +20,7 @@ export default function Layout({ children }: { children: ReactNode }) {
const rpcsTree = getRpcsTree();
const toolingTree = getToolingTree();
const acpsTree = getAcpsTree();
const templatesTree = getTemplatesTree();

return (
<LayoutWrapper baseOptions={baseOptions}>
Expand All @@ -28,6 +30,7 @@ export default function Layout({ children }: { children: ReactNode }) {
rpcsTree={rpcsTree}
toolingTree={toolingTree}
acpsTree={acpsTree}
templatesTree={templatesTree}
>
{children}
</DocsLayoutWrapper>
Expand Down
12 changes: 6 additions & 6 deletions components/landing/student-callout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,24 @@ export default function StudentCallout() {
<section className="p-4">
<div className="max-w-7xl w-full mx-auto ">

<div className="bg-white dark:bg-zinc-900/50 rounded-2xl shadow-lg border border-zinc-200/80 dark:border-zinc-800/80 p-4 md:p-8">
<div className="bg-white rounded-2xl shadow-lg border border-gray-100 p-4 md:p-8">
<div className="flex flex-col md:flex-row items-center gap-8">
{/* Left side - Content */}
<div className="flex-1 text-center md:text-left">
<div className="flex items-center justify-center md:justify-start gap-3 mb-4">
<div className="p-2 bg-blue-100 dark:bg-blue-900/30 rounded-lg">
<GraduationCap className="h-6 w-6 text-blue-600 dark:text-blue-400" />
<div className="p-2 bg-blue-100 rounded-lg">
<GraduationCap className="h-6 w-6 text-blue-600" />
</div>
<span className="text-sm font-medium text-blue-600 dark:text-blue-400 uppercase tracking-wide">
<span className="text-sm font-medium text-blue-600 uppercase tracking-wide">
For Students
</span>
</div>

<h2 className="text-3xl md:text-4xl font-bold text-zinc-900 dark:text-white mb-4">
<h2 className="text-3xl md:text-4xl font-bold text-gray-900 mb-4">
Build the Future with Us
</h2>

<p className="text-lg text-zinc-600 dark:text-zinc-400 mb-6 leading-relaxed">
<p className="text-lg text-gray-600 mb-6 leading-relaxed">
Join thousands of students learning to build on blockchain. Get exclusive access to
student resources, workshops, and opportunities to connect with the Avalanche Builder community.
</p>
Expand Down
10 changes: 8 additions & 2 deletions components/navigation/docs-subnav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ const tabs = [
!path.startsWith("/docs/api-reference") &&
!path.startsWith("/docs/rpcs") &&
!path.startsWith("/docs/tooling") &&
!path.startsWith("/docs/acps")),
!path.startsWith("/docs/acps") &&
!path.startsWith("/docs/templates")),
},
{
label: "Node RPCs",
Expand All @@ -27,10 +28,15 @@ const tabs = [
pathMatch: (path: string) => path.startsWith("/docs/api-reference"),
},
{
label: "Developer Tools",
label: "SDKs",
href: "/docs/tooling/avalanche-sdk",
pathMatch: (path: string) => path.startsWith("/docs/tooling"),
},
{
label: "Templates",
href: "/docs/templates",
pathMatch: (path: string) => path.startsWith("/docs/templates"),
},
{
label: "ACPs",
href: "/docs/acps",
Expand Down
6 changes: 2 additions & 4 deletions components/toolbox/hooks/useWrappedNativeToken.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ export function useWrappedNativeToken(): WrappedNativeTokenHook {
abi: WrappedNativeToken.abi,
functionName: 'deposit',
value: parseEther(amount),
account: walletEVMAddress as `0x${string}`,
chain: viemChain
account: walletEVMAddress as `0x${string}`
});

notify({
Expand All @@ -55,8 +54,7 @@ export function useWrappedNativeToken(): WrappedNativeTokenHook {
abi: WrappedNativeToken.abi,
functionName: 'withdraw',
args: [parseEther(amount)],
account: walletEVMAddress as `0x${string}`,
chain: viemChain
account: walletEVMAddress as `0x${string}`
});

notify({
Expand Down
26 changes: 0 additions & 26 deletions components/toolbox/stores/l1ListStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,32 +110,6 @@ const l1ListInitialStateFuji = {
"EVM-compatible L1 chain",
"Deploy dApps & test interoperability with Dispatch"
]
},
{
id: "2TTSLdR6uEM3R5Ukej3YThHSyPf6XCfppAsh5vAuzFA1rY5w7e",
name: "Dexalot",
description: "Dexalot is a decentralized exchange (DEX) that operates on its own Avalanche L1, offering a central limit order book (CLOB) experience",
rpcUrl: "https://subnets.avax.network/dexalot/testnet/rpc",
evmChainId: 432201,
coinName: "ALOT",
isTestnet: true,
subnetId: "9m6a3Qte8FaRbLZixLhh8Ptdkemm4csNaLwQeKkENx5wskbWP",
wrappedTokenAddress: "",
validatorManagerAddress: "",
logoUrl: "https://images.ctfassets.net/gcj8jwzm6086/6tKCXL3AqxfxSUzXLGfN6r/be31715b87bc30c0e4d3da01a3d24e9a/dexalot-subnet.png",
wellKnownTeleporterRegistryAddress: "0xF86Cb19Ad8405AEFa7d09C778215D2Cb6eBfB228",
hasBuilderHubFaucet: true,
externalFaucetUrl: "https://core.app/tools/testnet-faucet",
explorerUrl: "https://subnets-test.avax.network/dexalot",
faucetThresholds: {
threshold: 1.0,
dripAmount: 2
},
features: [
"EVM-compatible L1 chain",
"Decentralized exchange with CLOB",
"Deploy dApps on Dexalot L1"
]
}
] as L1ListItem[],
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@ authors: [nicolasarnedo]
icon: Book
---

## The Transformation: Two Pieces of the Puzzle

Converting from PoA to PoS isn't about replacing your entire blockchain—it's about strategically combining two concepts you may have already learned in separate courses:

![Proof of Stake Architecture](https://qizat5l3bwvomkny.public.blob.vercel-storage.com/PoS.png)

## Proof of Stake as Sybil Protection

Proof of Stake (PoS) is fundamentally a **Sybil protection mechanism** that secures blockchain networks by preventing malicious actors from gaining control through the creation of multiple fake identities. Sybil protection mechanisms serve three critical functions:
Expand Down

This file was deleted.

This file was deleted.

Loading