Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update feature gates #440

Merged
merged 1 commit into from
Jan 21, 2025
Merged
Changes from all commits
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
45 changes: 40 additions & 5 deletions app/utils/feature-gate/featureGate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ export type FeatureInfoType = {
simd: { number: number; link: string } | null;
devnetActivationEpoch: number | null;
testnetActivationEpoch: number | null;
mainnetActivationEpoch: number | null;
};

export const FEATURES: FeatureInfoType[] = [
{
description: 'Two new instructions for moving value between stake accounts without holding Withdrawer',
devnetActivationEpoch: 798,
key: '7bTK6Jis8Xpfrs8ZoUfiMDPazTcdPcTWheZFJTA5Z6X4',
mainnetActivationEpoch: 727,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0148-stake-program-move-instructions.md',
number: 148,
Expand All @@ -32,6 +34,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Enable confidential token transfers',
devnetActivationEpoch: 801,
key: 'zkhiy5oLowR7HY4zogXjCjeMXyruLqBwSWH21qcFtnv',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0153-elgamal-proof-program.md',
number: 153,
Expand All @@ -43,6 +46,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Passes on 100% of priority fee to validators',
devnetActivationEpoch: 805,
key: '3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0096-reward-collected-priority-fee-in-entirety.md',
number: 96,
Expand All @@ -54,6 +58,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Simplify account loading',
devnetActivationEpoch: 800,
key: 'EQUMpNFr7Nacb1sva56xn1aLfBxppEoSBH8RRVdkcD1x',
mainnetActivationEpoch: null,
simd: null,
testnetActivationEpoch: 713,
title: 'Disable account loader special case',
Expand All @@ -62,6 +67,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Removing legacy floating number arithmetic operation in fee calculation, make it integer-based',
devnetActivationEpoch: 802,
key: 'BtVN7YjDzNE6Dk7kTT7YTDgMNUZTNgiSJgsdzAeTg2jF',
mainnetActivationEpoch: null,
simd: null,
testnetActivationEpoch: 715,
title: 'Removing unwanted rounding in fee calculation',
Expand All @@ -71,6 +77,7 @@ export const FEATURES: FeatureInfoType[] = [
'Unified syscall interface for all sysvars, without needing to include sysvar address in transactions',
devnetActivationEpoch: 806,
key: 'CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0127-get-sysvar-syscall.md',
number: 127,
Expand All @@ -82,6 +89,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Enable new voting instruction',
devnetActivationEpoch: 813,
key: 'tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNA',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0138-deprecate-legacy-vote-instructions.md',
number: 138,
Expand All @@ -93,6 +101,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Turn feature gate syscall into a BPF program, enabling revocation of pending features.',
devnetActivationEpoch: 816,
key: '4eohviozzEeivk1y9UbrnekbAFMDQyJz5JjA9Y6gyvky',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0089-programify-feature-gate-program.md',
number: 89,
Expand All @@ -103,8 +112,9 @@ export const FEATURES: FeatureInfoType[] = [
// Upcoming Devnet features
{
description: 'Migrate the config program to a BPF program',
devnetActivationEpoch: null,
devnetActivationEpoch: 817,
key: '2Fr57nzzkLYXW695UdDxDeR5fhnZWSttZeZYemrnpGFV',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0140-migrate-config-to-core-bpf.md',
number: 140,
Expand All @@ -114,8 +124,9 @@ export const FEATURES: FeatureInfoType[] = [
},
{
description: 'Allow core developers to exclude system programs from write-locking transactions',
devnetActivationEpoch: null,
devnetActivationEpoch: 819,
key: '8U4skmMVnF6k2kMvrWbQuRUT3qQSiTYpSjqmhmgfthZu',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0105-dynamic-reserved-accounts-set.md',
number: 105,
Expand All @@ -125,8 +136,9 @@ export const FEATURES: FeatureInfoType[] = [
},
{
description: 'Improve performance of validator performance at epoch boundary by skipping rent collection',
devnetActivationEpoch: null,
devnetActivationEpoch: 824,
key: 'CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrw',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0183-skip-rent-rewrites.md',
number: 183,
Expand All @@ -139,6 +151,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Disables rent collection for accounts, to be activated when all rent-paying accounts are gone',
devnetActivationEpoch: null,
key: 'CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0084-disable-rent-fees-collection.md',
number: 84,
Expand All @@ -150,6 +163,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Enable on-chain verification of Passkeys and the WebAuthn Standard (secp256r1) signatures',
devnetActivationEpoch: null,
key: 'sr11RdZWgbHTHxSroPALe6zgaT5A1K9LcE4nfsZS4gi',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0075-precompile-for-secp256r1-sigverify.md',
number: 75,
Expand All @@ -161,6 +175,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Migrate the Address Lookup Table to a BPF program',
devnetActivationEpoch: null,
key: 'C97eKZygrkU4JxJsZdjgbUY7iQR7rKTr4NyDWo2E5pRm',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0128-migrate-address-lookup-table-to-core-bpf.md',
number: 128,
Expand All @@ -172,6 +187,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Add a new syscall to get the epoch stake',
devnetActivationEpoch: null,
key: 'FKe75t4LXxGaQnVHdUKM6DSFifVVraGZ8LyNo7oPwy1Z',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0133-syscall-get-epoch-stake.md',
number: 133,
Expand All @@ -184,6 +200,7 @@ export const FEATURES: FeatureInfoType[] = [
'Removes pitfalls and foot-guns from the virtual machine and syscalls by enabling account data direct mapping',
devnetActivationEpoch: null,
key: 'GJVDwRkUPNdk9QaK4VsU4g1N41QNxhy1hevjf8kz45Mq',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/pull/219',
number: 219,
Expand All @@ -195,6 +212,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Only vote for blocks with sufficiently sized fec sets',
devnetActivationEpoch: null,
key: 'ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc',
mainnetActivationEpoch: null,
simd: null,
testnetActivationEpoch: null,
title: 'Vote only on full fec sets',
Expand All @@ -203,6 +221,7 @@ export const FEATURES: FeatureInfoType[] = [
description: 'Faster homomorphic hashing of accounts, enabling account state to be hashed in every block',
devnetActivationEpoch: null,
key: 'LtHaSHHsUge7EWTPVrmpuexKz6uVHZXZL6cgJa7W7Zn',
mainnetActivationEpoch: null,
simd: {
link: 'https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0215-accounts-lattice-hash.md',
number: 215,
Expand Down Expand Up @@ -256,6 +275,14 @@ export function UpcomingFeatures() {
<div className="card-body d-flex flex-column">
<div className="d-flex align-items-center mb-3">
<h4 className="card-title mb-0 text-decoration-underline">{feature.title}</h4>
</div>

<p className="card-text flex-grow-1">{feature.description}</p>

<div className="ms-n2 mb-2">
{cluster === Cluster.MainnetBeta && feature.mainnetActivationEpoch && (
<span className="badge bg-success ms-2">Active on Mainnet</span>
)}
{cluster === Cluster.Devnet && feature.devnetActivationEpoch && (
<span className="badge bg-success ms-2">Active on Devnet</span>
)}
Expand All @@ -264,10 +291,18 @@ export function UpcomingFeatures() {
)}
</div>

<p className="card-text flex-grow-1">{feature.description}</p>

<div className="activation-info mb-3">
<div className="mb-1">Cluster Activations</div>
{feature.mainnetActivationEpoch && (
<div className="mb-1">
<Link
href={`/epoch/${feature.mainnetActivationEpoch}?cluster=mainnet`}
className="epoch-link"
>
Mainnet Epoch {feature.mainnetActivationEpoch}
</Link>
</div>
)}
{feature.devnetActivationEpoch && (
<div className="mb-1">
<Link
Expand Down
Loading