2022-01-08 01:59:34 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package cosmos.slashing.v1beta1;
|
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/slashing/types";
|
|
|
|
option (gogoproto.equal_all) = true;
|
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "google/protobuf/duration.proto";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
2023-04-04 00:08:45 +00:00
|
|
|
import "cosmos_proto/cosmos.proto";
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// ValidatorSigningInfo defines a validator's signing info for monitoring their
|
|
|
|
// liveness activity.
|
|
|
|
message ValidatorSigningInfo {
|
|
|
|
option (gogoproto.equal) = true;
|
|
|
|
option (gogoproto.goproto_stringer) = false;
|
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
// Height at which validator was first a candidate OR was unjailed
|
2023-04-04 00:08:45 +00:00
|
|
|
int64 start_height = 2;
|
2022-01-08 01:59:34 +00:00
|
|
|
// Index which is incremented each time the validator was a bonded
|
|
|
|
// in a block and may have signed a precommit or not. This in conjunction with the
|
|
|
|
// `SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`.
|
2023-04-04 00:08:45 +00:00
|
|
|
int64 index_offset = 3;
|
2022-01-08 01:59:34 +00:00
|
|
|
// Timestamp until which the validator is jailed due to liveness downtime.
|
2023-04-04 00:08:45 +00:00
|
|
|
google.protobuf.Timestamp jailed_until = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
2022-01-08 01:59:34 +00:00
|
|
|
// Whether or not a validator has been tombstoned (killed out of validator set). It is set
|
|
|
|
// once the validator commits an equivocation or for any other configured misbehiavor.
|
|
|
|
bool tombstoned = 5;
|
|
|
|
// A counter kept to avoid unnecessary array reads.
|
|
|
|
// Note that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`.
|
2023-04-04 00:08:45 +00:00
|
|
|
int64 missed_blocks_counter = 6;
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Params represents the parameters used for by the slashing module.
|
|
|
|
message Params {
|
2023-04-04 00:08:45 +00:00
|
|
|
int64 signed_blocks_window = 1;
|
|
|
|
bytes min_signed_per_window = 2
|
|
|
|
[(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false];
|
|
|
|
google.protobuf.Duration downtime_jail_duration = 3 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true];
|
|
|
|
bytes slash_fraction_double_sign = 4
|
|
|
|
[(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false];
|
|
|
|
bytes slash_fraction_downtime = 5
|
|
|
|
[(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|