Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 6.07 KB

README.md

File metadata and controls

62 lines (47 loc) · 6.07 KB

Solana Feature Gate Program

The Solana Feature Gate program is a new Core BPF program introduced in SIMD 0089.

Currently, it's sole responsibility is to enable core contributors to revoke pending feature activations. With all feature accounts owned by Feature111111111111111111111111111111111111 (this program's ID), that means this program can manipulate feature accounts.

As per SIMD 0089, the single instruction RevokePendingActivation can - provided a signature from the feature keypair - revoke a feature activation that has been recently queued for activation, but not yet activated.

enum FeatureGateInstruction {
    /// Revoke a pending feature activation.
    ///
    /// This instruction will burn any lamports in the feature account.
    ///
    /// A "pending" feature activation is a feature account that has been
    /// allocated and assigned, but hasn't yet been updated by the runtime
    /// with an `activation_slot`.
    ///
    /// Features that _have_ been activated by the runtime cannot be revoked.
    ///
    /// Accounts expected by this instruction:
    ///
    ///   0. `[w+s]`    Feature account
    ///   1. `[w]`      Incinerator
    ///   2. `[ ]`      System program
    RevokePendingActivation,
}

Support for this revoke instruction has been added to the Solana CLI.

Build & Test

This repository is managed with pnpm.

All scripts can be found in package.json and under the scripts folder.

Build & test the program:

pnpm programs:build
pnpm programs:test

Clients

The following clients are available for the Feature Gate program.