Skip to content

Commit

Permalink
Bn 1159 proposal update (#83)
Browse files Browse the repository at this point in the history
* BN-1159-proposalUpdate
  • Loading branch information
Fernando committed Aug 28, 2023
1 parent 29c23a1 commit 69b81d1
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
35 changes: 35 additions & 0 deletions proto/brambl/models/box/value.proto
Expand Up @@ -6,13 +6,18 @@ import 'validate/validate.proto';

import 'quivr/models/shared.proto';
import 'consensus/models/staking.proto';
import 'node/models/ratio.proto';
import 'google/protobuf/wrappers.proto';
import 'google/protobuf/duration.proto';


// The value contained in a box
message Value {
oneof value {
LVL lvl = 1;
TOPL topl = 2;
Asset asset = 3;
UpdateProposal updateProposal = 6; // 4 and 5 reserved for group and series
}
// A payment token
message LVL {
Expand All @@ -31,4 +36,34 @@ message Value {
quivr.models.Int128 quantity = 2 [(validate.rules).message.required = true];
quivr.models.SmallData metadata = 3 [(validate.rules).message.required = true];
}

message UpdateProposal {
// Update proposal label for humans (do not confuse with the actual update proposal identifier)
string label = 1;
// fEffective
co.topl.node.models.Ratio fEffective = 2;
// vrfLddCutoff
// Verifiable Random Function: mechanism for leader election in Ouroboros proof-of-stake
// Local dynamic difficulty, Short timescale variation of the block production eligibility threshold.
google.protobuf.UInt32Value vrfLddCutoff = 3;
// vrfPrecision
google.protobuf.UInt32Value vrfPrecision = 4;
// vrfBaselineDifficulty
co.topl.node.models.Ratio vrfBaselineDifficulty = 5;
// vrfAmplitude
co.topl.node.models.Ratio vrfAmplitude = 6;
// chainSelectionKLookback
google.protobuf.UInt64Value chainSelectionKLookback = 7;
// slotDuration, Slot: Atomic time unit in Ouroboros, smallest piece of time (~1 second for Topl, 2 for Cardano)
google.protobuf.Duration slotDuration = 8;
// forwardBiasedSlotWindow
google.protobuf.UInt64Value forwardBiasedSlotWindow = 9;
// operationalPeriodsPerEpoch, Epoch: Long time scale in Ouroboros, epochs are composed of many slots
google.protobuf.UInt64Value operationalPeriodsPerEpoch = 10;
// kesKeyHours Key-Evolving Signature: mechanism for securing chain selection process in Ouroboros proof-of-stake
google.protobuf.UInt32Value kesKeyHours = 11;
// kesKeyMinutes Key-Evolving Signature: mechanism for securing chain selection process in Ouroboros proof-of-stake
google.protobuf.UInt32Value kesKeyMinutes = 12;

}
}
12 changes: 12 additions & 0 deletions proto/node/models/ratio.proto
@@ -0,0 +1,12 @@
syntax = "proto3";

package co.topl.node.models;

import 'validate/validate.proto';
import 'quivr/models/shared.proto';

message Ratio {
quivr.models.Int128 numerator = 1 [(validate.rules).message.required = true];
// Populate with 1 if not defined
quivr.models.Int128 denominator = 2 [(validate.rules).message.required = true];
}

0 comments on commit 69b81d1

Please sign in to comment.