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

Add Antelope BlockHeaderExtension #21

Open
3 tasks
DenisCarriere opened this issue Oct 21, 2024 · 0 comments
Open
3 tasks

Add Antelope BlockHeaderExtension #21

DenisCarriere opened this issue Oct 21, 2024 · 0 comments

Comments

@DenisCarriere
Copy link
Contributor

To add

  • decoded_header_extensions
    • ProtocolFeatureActivationExtension
    • ProducerScheduleChangeExtension
message BlockHeader {
  google.protobuf.Timestamp timestamp = 3;
  string producer = 4;
  uint32 confirmed = 5; // uint16
  string previous = 6;
  bytes transaction_mroot = 7;
  bytes action_mroot = 8;
  uint32 schedule_version = 9;
  repeated Extension header_extensions = 11;
  repeated BlockHeaderExtension decoded_header_extensions = 12;

  // EOSIO 1.x only
  //
  // A change to producer schedule was reported as a `NewProducers` field on the
  // `BlockHeader` in EOSIO 1.x. In EOSIO 2.x, when feature `WTMSIG_BLOCK_SIGNATURES`
  // is activated, the `NewProducers` field is not present anymore and the schedule change
  // is reported through a `BlockHeaderExtension` on the the `BlockHeader` struct.
  //
  // If you need to access the old value, you can
  ProducerSchedule new_producers_v1 = 10;
}

message BlockHeaderExtension {
  oneof extension {
    ProtocolFeatureActivationExtension protocol_feature_activation_extension = 1;
    ProducerScheduleChangeExtension producer_schedule_change_extension = 2;
  }
}
message ProtocolFeatureActivationExtension {
  repeated bytes protocol_features = 1;
}

message ProducerScheduleChangeExtension {
  ProducerAuthoritySchedule producer_schedule = 1;
}
message ProducerAuthoritySchedule {
  uint32 version = 1;
  repeated ProducerAuthority producers = 2;
}

// Present in EOSIO 2.x only
message ProducerAuthority {
  string account_name = 1;
  BlockSigningAuthority block_signing_authority = 2;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant