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.
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
The following clients are available for the Feature Gate program.