protosol 5.2.0

Protobuf definitions for the SVM fuzzing project.
Documentation
syntax = "proto3";
package org.solana.sealevel.v1;

// A set of feature flags.
message FeatureSet {
  // Every item in this list marks an enabled feature.  The value of
  // each item is the first 8 bytes of the feature ID as a little-
  // endian integer.
  repeated fixed64 features = 1;
}

// The complete state of an account excluding its public key.
message AcctState {
  // The account address.  (32 bytes)
  bytes address = 1;

  uint64 lamports = 2;

  // Account data is limited to 10 MiB on Solana mainnet as of 2024-Feb.
  bytes data = 3;

  bool executable = 4;

  reserved 5;

  // Address of the program that owns this account.  (32 bytes)
  bytes owner = 6;

  reserved 7;
}

// Fee rate governor parameters
message FeeRateGovernor {
  uint64 target_lamports_per_signature = 1;
  uint64 target_signatures_per_slot = 2;
  uint64 min_lamports_per_signature = 3;
  uint64 max_lamports_per_signature = 4;
  uint32 burn_percent = 5;
}

message EpochSchedule {
  // The maximum number of slots in each epoch.
  uint64 slots_per_epoch = 1;

  // A number of slots before beginning of an epoch to calculate
  // a leader schedule for that epoch.
  uint64 leader_schedule_slot_offset = 2;

  // Whether epochs start short and grow.
  bool warmup = 3;

  // The first epoch after the warmup period.
  uint64 first_normal_epoch = 4;

  // The first slot after the warmup period.
  uint64 first_normal_slot = 5;
}

// A single entry in the blockhash queue.
message BlockhashQueueEntry {
  bytes blockhash = 1;
  uint64 lamports_per_signature = 2;
}