perf!: Make slashing not write sign info every block (#19458)
Co-authored-by: Adam Tucker <adamleetucker@outlook.com>
This commit is contained in:
parent
adc0f75f62
commit
8cb798d7bf
@ -8,7 +8,6 @@ import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoiface "google.golang.org/protobuf/runtime/protoiface"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
_ "google.golang.org/protobuf/types/known/anypb"
|
||||
io "io"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
@ -2018,55 +2017,54 @@ var file_cosmos_accounts_interfaces_account_abstraction_v1_interface_proto_rawDe
|
||||
0x6f, 0x74, 0x6f, 0x12, 0x31, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x1a, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01,
|
||||
0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
|
||||
0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x72,
|
||||
0x61, 0x77, 0x5f, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
|
||||
0x54, 0x78, 0x52, 0x61, 0x77, 0x52, 0x05, 0x72, 0x61, 0x77, 0x54, 0x78, 0x12, 0x25, 0x0a, 0x02,
|
||||
0x74, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52,
|
||||
0x02, 0x74, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65,
|
||||
0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74,
|
||||
0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
|
||||
0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22,
|
||||
0x5b, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
|
||||
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
|
||||
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x42, 0x86, 0x03, 0x0a,
|
||||
0x35, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
|
||||
0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x62,
|
||||
0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x76, 0x31, 0xa2, 0x02, 0x04, 0x43, 0x41, 0x49, 0x41, 0xaa, 0x02, 0x30, 0x43, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65,
|
||||
0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x62,
|
||||
0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x30, 0x43,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5c, 0x49,
|
||||
0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2,
|
||||
0x02, 0x3c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x73, 0x5c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5c, 0x41, 0x63, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5c,
|
||||
0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
|
||||
0x34, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x73, 0x3a, 0x3a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x3a, 0x3a, 0x41,
|
||||
0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74,
|
||||
0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
|
||||
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
|
||||
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x72,
|
||||
0x12, 0x2f, 0x0a, 0x06, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x18, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x61, 0x77, 0x52, 0x05, 0x72, 0x61, 0x77, 0x54,
|
||||
0x78, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||
0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e,
|
||||
0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
|
||||
0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x19, 0x0a, 0x17, 0x4d,
|
||||
0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41,
|
||||
0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
|
||||
0x68, 0x6f, 0x64, 0x73, 0x22, 0x5b, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x74,
|
||||
0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f,
|
||||
0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x75,
|
||||
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74,
|
||||
0x68, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68,
|
||||
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
|
||||
0x73, 0x42, 0x86, 0x03, 0x0a, 0x35, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
|
||||
0x61, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x73,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49, 0x6e, 0x74,
|
||||
0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f,
|
||||
0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76,
|
||||
0x31, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x04, 0x43, 0x41, 0x49, 0x41, 0xaa, 0x02,
|
||||
0x30, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
|
||||
0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56,
|
||||
0x31, 0xca, 0x02, 0x30, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x5c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5c, 0x41,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x3c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
|
||||
0x73, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
|
||||
0x61, 0x74, 0x61, 0xea, 0x02, 0x34, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x3a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
|
||||
0x65, 0x73, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x62, 0x73, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@ -1418,9 +1418,11 @@ type ValidatorSigningInfo struct {
|
||||
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Height at which validator was first a candidate OR was un-jailed
|
||||
StartHeight int64 `protobuf:"varint,2,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"`
|
||||
// Index which is incremented every time a validator is bonded in a block and
|
||||
// DEPRECATED: Index which is incremented every time a validator is bonded in a block and
|
||||
// _may_ have signed a pre-commit or not. This in conjunction with the
|
||||
// signed_blocks_window param determines the index in the missed block bitmap.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
IndexOffset int64 `protobuf:"varint,3,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"`
|
||||
// Timestamp until which the validator is jailed due to liveness downtime.
|
||||
JailedUntil *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=jailed_until,json=jailedUntil,proto3" json:"jailed_until,omitempty"`
|
||||
@ -1467,6 +1469,7 @@ func (x *ValidatorSigningInfo) GetStartHeight() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (x *ValidatorSigningInfo) GetIndexOffset() int64 {
|
||||
if x != nil {
|
||||
return x.IndexOffset
|
||||
@ -1578,7 +1581,7 @@ var file_cosmos_slashing_v1beta1_slashing_proto_rawDesc = []byte{
|
||||
0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x02, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x02, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
||||
0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x6f, 0x6e,
|
||||
@ -1586,67 +1589,68 @@ var file_cosmos_slashing_v1beta1_slashing_proto_rawDesc = []byte{
|
||||
0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c,
|
||||
0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
|
||||
0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73,
|
||||
0x65, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x74,
|
||||
0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7,
|
||||
0xb0, 0x2a, 0x01, 0x52, 0x0b, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 0x6e, 0x74, 0x69, 0x6c,
|
||||
0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x64,
|
||||
0x12, 0x32, 0x0a, 0x15, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
|
||||
0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x13, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x43, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x65, 0x72, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x8d, 0x04, 0x0a, 0x06, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f,
|
||||
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
|
||||
0x73, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x69, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x73,
|
||||
0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74,
|
||||
0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x12,
|
||||
0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x72, 0x57, 0x69, 0x6e, 0x64,
|
||||
0x6f, 0x77, 0x12, 0x5e, 0x0a, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6a,
|
||||
0x61, 0x69, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8,
|
||||
0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x64, 0x6f,
|
||||
0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4a, 0x61, 0x69, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x1a, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x72, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74,
|
||||
0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x17,
|
||||
0x73, 0x6c, 0x61, 0x73, 0x68, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x75,
|
||||
0x62, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x6e, 0x0a, 0x17, 0x73, 0x6c, 0x61, 0x73, 0x68,
|
||||
0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde,
|
||||
0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d,
|
||||
0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d,
|
||||
0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01,
|
||||
0x52, 0x15, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x3a, 0x21, 0x8a, 0xe7, 0xb0, 0x2a, 0x1c, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68,
|
||||
0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xe8, 0x01, 0x0a, 0x1b, 0x63,
|
||||
0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69,
|
||||
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x53, 0x6c, 0x61, 0x73,
|
||||
0x68, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x76, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53,
|
||||
0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2,
|
||||
0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e,
|
||||
0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74,
|
||||
0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a,
|
||||
0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||
0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x25, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64,
|
||||
0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf,
|
||||
0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0b, 0x6a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55,
|
||||
0x6e, 0x74, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e,
|
||||
0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74,
|
||||
0x6f, 0x6e, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62,
|
||||
0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
|
||||
0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x8d,
|
||||
0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x69, 0x67,
|
||||
0x6e, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f,
|
||||
0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42,
|
||||
0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x69, 0x0a, 0x15, 0x6d,
|
||||
0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x77, 0x69,
|
||||
0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00,
|
||||
0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f,
|
||||
0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2,
|
||||
0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0,
|
||||
0x2a, 0x01, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x72,
|
||||
0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x5e, 0x0a, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x5f, 0x6a, 0x61, 0x69, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01,
|
||||
0x52, 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4a, 0x61, 0x69, 0x6c, 0x44, 0x75,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x1a, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x5f,
|
||||
0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f,
|
||||
0x73, 0x69, 0x67, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00,
|
||||
0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f,
|
||||
0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2,
|
||||
0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0,
|
||||
0x2a, 0x01, 0x52, 0x17, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x6e, 0x0a, 0x17, 0x73,
|
||||
0x6c, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f,
|
||||
0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x36, 0xc8, 0xde,
|
||||
0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e,
|
||||
0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65,
|
||||
0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8,
|
||||
0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x15, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x46, 0x72, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x3a, 0x21, 0x8a, 0xe7, 0xb0,
|
||||
0x2a, 0x1c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73,
|
||||
0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xe8,
|
||||
0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c,
|
||||
0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d,
|
||||
0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||
0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e,
|
||||
0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69,
|
||||
0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa,
|
||||
0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e,
|
||||
0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65,
|
||||
0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61,
|
||||
0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50,
|
||||
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@ -2,7 +2,6 @@ syntax = "proto3";
|
||||
|
||||
package cosmos.accounts.interfaces.account_abstraction.v1;
|
||||
|
||||
import "google/protobuf/any.proto";
|
||||
import "cosmos/tx/v1beta1/tx.proto";
|
||||
|
||||
option go_package = "cosmossdk.io/x/accounts/interfaces/account_abstraction/v1";
|
||||
|
||||
@ -18,10 +18,10 @@ message ValidatorSigningInfo {
|
||||
string address = 1 [(cosmos_proto.scalar) = "cosmos.ConsensusAddressString"];
|
||||
// Height at which validator was first a candidate OR was un-jailed
|
||||
int64 start_height = 2;
|
||||
// Index which is incremented every time a validator is bonded in a block and
|
||||
// DEPRECATED: Index which is incremented every time a validator is bonded in a block and
|
||||
// _may_ have signed a pre-commit or not. This in conjunction with the
|
||||
// signed_blocks_window param determines the index in the missed block bitmap.
|
||||
int64 index_offset = 3;
|
||||
int64 index_offset = 3 [deprecated = true];
|
||||
// Timestamp until which the validator is jailed due to liveness downtime.
|
||||
google.protobuf.Timestamp jailed_until = 4
|
||||
[(gogoproto.stdtime) = true, (gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
||||
|
||||
@ -203,7 +203,7 @@ func TestHandleDoubleSign(t *testing.T) {
|
||||
|
||||
consaddrStr, err := f.stakingKeeper.ConsensusAddressCodec().BytesToString(valpubkey.Address())
|
||||
assert.NilError(t, err)
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddrStr, f.sdkCtx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddrStr, f.sdkCtx.BlockHeight(), time.Unix(0, 0), false, int64(0))
|
||||
err = f.slashingKeeper.ValidatorSigningInfo.Set(f.sdkCtx, sdk.ConsAddress(valpubkey.Address()), info)
|
||||
assert.NilError(t, err)
|
||||
// handle a signature to set signing info
|
||||
|
||||
@ -90,7 +90,7 @@ func TestBeginBlocker(t *testing.T) {
|
||||
info, err := slashingKeeper.ValidatorSigningInfo.Get(ctx, sdk.ConsAddress(pk.Address()))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, ctx.HeaderInfo().Height, info.StartHeight)
|
||||
require.Equal(t, int64(1), info.IndexOffset)
|
||||
require.Equal(t, int64(0), info.IndexOffset)
|
||||
require.Equal(t, time.Unix(0, 0).UTC(), info.JailedUntil)
|
||||
require.Equal(t, int64(0), info.MissedBlocksCounter)
|
||||
|
||||
|
||||
@ -127,8 +127,8 @@ func initFixture(tb testing.TB) *fixture {
|
||||
consaddr1, err := stakingKeeper.ConsensusAddressCodec().BytesToString(addrDels[1])
|
||||
assert.NilError(tb, err)
|
||||
|
||||
info1 := slashingtypes.NewValidatorSigningInfo(consaddr0, int64(4), int64(3), time.Unix(2, 0), false, int64(10))
|
||||
info2 := slashingtypes.NewValidatorSigningInfo(consaddr1, int64(5), int64(4), time.Unix(2, 0), false, int64(10))
|
||||
info1 := slashingtypes.NewValidatorSigningInfo(consaddr0, int64(4), time.Unix(2, 0), false, int64(10))
|
||||
info2 := slashingtypes.NewValidatorSigningInfo(consaddr1, int64(5), time.Unix(2, 0), false, int64(10))
|
||||
|
||||
err = slashingKeeper.ValidatorSigningInfo.Set(sdkCtx, sdk.ConsAddress(addrDels[0]), info1)
|
||||
assert.NilError(tb, err)
|
||||
@ -167,7 +167,8 @@ func TestUnJailNotBonded(t *testing.T) {
|
||||
|
||||
_, err = f.stakingKeeper.EndBlocker(f.ctx)
|
||||
assert.NilError(t, err)
|
||||
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
|
||||
newHeight := f.ctx.BlockHeight() + 1
|
||||
f.ctx = f.ctx.WithBlockHeight(newHeight).WithHeaderInfo(coreheader.Info{Height: newHeight})
|
||||
|
||||
// create a 6th validator with less power than the cliff validator (won't be bonded)
|
||||
addr, val := f.valAddrs[5], pks[5]
|
||||
@ -183,7 +184,8 @@ func TestUnJailNotBonded(t *testing.T) {
|
||||
|
||||
_, err = f.stakingKeeper.EndBlocker(f.ctx)
|
||||
assert.NilError(t, err)
|
||||
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
|
||||
newHeight = f.ctx.BlockHeight() + 1
|
||||
f.ctx = f.ctx.WithBlockHeight(newHeight).WithHeaderInfo(coreheader.Info{Height: newHeight})
|
||||
|
||||
tstaking.CheckValidator(addr, stakingtypes.Unbonded, false)
|
||||
|
||||
@ -193,7 +195,8 @@ func TestUnJailNotBonded(t *testing.T) {
|
||||
|
||||
_, err = f.stakingKeeper.EndBlocker(f.ctx)
|
||||
assert.NilError(t, err)
|
||||
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
|
||||
newHeight = f.ctx.BlockHeight() + 1
|
||||
f.ctx = f.ctx.WithBlockHeight(newHeight).WithHeaderInfo(coreheader.Info{Height: newHeight})
|
||||
|
||||
// verify that validator is jailed
|
||||
tstaking.CheckValidator(addr, -1, true)
|
||||
@ -211,13 +214,15 @@ func TestUnJailNotBonded(t *testing.T) {
|
||||
|
||||
_, err = f.stakingKeeper.EndBlocker(f.ctx)
|
||||
assert.NilError(t, err)
|
||||
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
|
||||
newHeight = f.ctx.BlockHeight() + 1
|
||||
f.ctx = f.ctx.WithBlockHeight(newHeight).WithHeaderInfo(coreheader.Info{Height: newHeight})
|
||||
// bond to meet minimum self-delegation
|
||||
tstaking.DelegateWithPower(sdk.AccAddress(addr), addr, 1)
|
||||
|
||||
_, err = f.stakingKeeper.EndBlocker(f.ctx)
|
||||
assert.NilError(t, err)
|
||||
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
|
||||
newHeight = f.ctx.BlockHeight() + 1
|
||||
f.ctx = f.ctx.WithBlockHeight(newHeight).WithHeaderInfo(coreheader.Info{Height: newHeight})
|
||||
|
||||
// verify we can immediately unjail
|
||||
_, err = f.app.RunMsg(
|
||||
@ -242,15 +247,15 @@ func TestHandleNewValidator(t *testing.T) {
|
||||
tstaking := stakingtestutil.NewHelper(t, f.ctx, f.stakingKeeper)
|
||||
signedBlocksWindow, err := f.slashingKeeper.SignedBlocksWindow(f.ctx)
|
||||
assert.NilError(t, err)
|
||||
f.ctx = f.ctx.WithBlockHeight(signedBlocksWindow + 1)
|
||||
|
||||
f.ctx = f.ctx.WithBlockHeight(signedBlocksWindow + 1).WithHeaderInfo(coreheader.Info{Height: signedBlocksWindow + 1})
|
||||
assert.NilError(t, f.slashingKeeper.AddrPubkeyRelation.Set(f.ctx, pks[0].Address(), pks[0]))
|
||||
|
||||
consaddr, err := f.stakingKeeper.ConsensusAddressCodec().BytesToString(valpubkey.Address())
|
||||
assert.NilError(t, err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddr, f.ctx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddr, f.ctx.BlockHeight(), time.Unix(0, 0), false, int64(0))
|
||||
assert.NilError(t, f.slashingKeeper.ValidatorSigningInfo.Set(f.ctx, sdk.ConsAddress(valpubkey.Address()), info))
|
||||
assert.Equal(t, signedBlocksWindow+1, info.StartHeight)
|
||||
|
||||
// Validator created
|
||||
acc := f.accountKeeper.NewAccountWithAddress(f.ctx, sdk.AccAddress(addr))
|
||||
@ -274,13 +279,12 @@ func TestHandleNewValidator(t *testing.T) {
|
||||
|
||||
// Now a validator, for two blocks
|
||||
assert.NilError(t, f.slashingKeeper.HandleValidatorSignature(f.ctx, valpubkey.Address(), 100, comet.BlockIDFlagCommit))
|
||||
f.ctx = f.ctx.WithBlockHeight(signedBlocksWindow + 2)
|
||||
f.ctx = f.ctx.WithBlockHeight(signedBlocksWindow + 2).WithHeaderInfo(coreheader.Info{Height: signedBlocksWindow + 2})
|
||||
assert.NilError(t, f.slashingKeeper.HandleValidatorSignature(f.ctx, valpubkey.Address(), 100, comet.BlockIDFlagAbsent))
|
||||
|
||||
info, found := f.slashingKeeper.ValidatorSigningInfo.Get(f.ctx, sdk.ConsAddress(valpubkey.Address()))
|
||||
assert.Assert(t, found)
|
||||
assert.Equal(t, signedBlocksWindow+1, info.StartHeight)
|
||||
assert.Equal(t, int64(2), info.IndexOffset)
|
||||
assert.Equal(t, int64(1), info.MissedBlocksCounter)
|
||||
assert.Equal(t, time.Unix(0, 0).UTC(), info.JailedUntil)
|
||||
|
||||
@ -309,7 +313,7 @@ func TestHandleAlreadyJailed(t *testing.T) {
|
||||
consaddr, err := f.stakingKeeper.ConsensusAddressCodec().BytesToString(val.Address())
|
||||
assert.NilError(t, err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddr, f.ctx.HeaderInfo().Height, int64(0), time.Unix(0, 0), false, int64(0))
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddr, f.ctx.HeaderInfo().Height, time.Unix(0, 0), false, int64(0))
|
||||
assert.NilError(t, f.slashingKeeper.ValidatorSigningInfo.Set(f.ctx, sdk.ConsAddress(val.Address()), info))
|
||||
|
||||
acc := f.accountKeeper.NewAccountWithAddress(f.ctx, sdk.AccAddress(addr))
|
||||
@ -393,7 +397,7 @@ func TestValidatorDippingInAndOut(t *testing.T) {
|
||||
consaddrStr, err := f.stakingKeeper.ConsensusAddressCodec().BytesToString(addr)
|
||||
assert.NilError(t, err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddrStr, f.ctx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
|
||||
info := slashingtypes.NewValidatorSigningInfo(consaddrStr, f.ctx.BlockHeight(), time.Unix(0, 0), false, int64(0))
|
||||
assert.NilError(t, f.slashingKeeper.ValidatorSigningInfo.Set(f.ctx, consAddr, info))
|
||||
|
||||
tstaking.CreateValidatorWithValPower(valAddr, val, power, true)
|
||||
@ -454,7 +458,7 @@ func TestValidatorDippingInAndOut(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
tstaking.CheckValidator(valAddr, stakingtypes.Unbonding, true)
|
||||
|
||||
info = slashingtypes.NewValidatorSigningInfo(consaddrStr, f.ctx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
|
||||
info = slashingtypes.NewValidatorSigningInfo(consaddrStr, f.ctx.BlockHeight(), time.Unix(0, 0), false, int64(0))
|
||||
err = f.slashingKeeper.ValidatorSigningInfo.Set(f.ctx, consAddr, info)
|
||||
assert.NilError(t, err)
|
||||
|
||||
@ -469,7 +473,7 @@ func TestValidatorDippingInAndOut(t *testing.T) {
|
||||
height = int64(5000)
|
||||
f.ctx = f.ctx.WithBlockHeight(height).WithHeaderInfo(coreheader.Info{Height: height})
|
||||
|
||||
info = slashingtypes.NewValidatorSigningInfo(consaddrStr, f.ctx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
|
||||
info = slashingtypes.NewValidatorSigningInfo(consaddrStr, f.ctx.BlockHeight(), time.Unix(0, 0), false, int64(0))
|
||||
err = f.slashingKeeper.ValidatorSigningInfo.Set(f.ctx, consAddr, info)
|
||||
assert.NilError(t, err)
|
||||
|
||||
|
||||
@ -167,7 +167,7 @@ func (suite *SimTestSuite) TestSimulateMsgUnjail() {
|
||||
suite.Require().NoError(err)
|
||||
val0ConsAddressStr, err := suite.stakingKeeper.ConsensusAddressCodec().BytesToString(val0ConsAddress)
|
||||
suite.Require().NoError(err)
|
||||
info := types.NewValidatorSigningInfo(val0ConsAddressStr, int64(4), int64(3),
|
||||
info := types.NewValidatorSigningInfo(val0ConsAddressStr, int64(4),
|
||||
time.Unix(2, 0), false, int64(10))
|
||||
err = suite.slashingKeeper.ValidatorSigningInfo.Set(ctx, val0ConsAddress, info)
|
||||
suite.Require().NoError(err)
|
||||
|
||||
@ -5,7 +5,6 @@ package v1
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
_ "github.com/cosmos/cosmos-sdk/codec/types"
|
||||
tx "github.com/cosmos/cosmos-sdk/types/tx"
|
||||
proto "github.com/cosmos/gogoproto/proto"
|
||||
io "io"
|
||||
@ -237,30 +236,29 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_56b360422260e9d1 = []byte{
|
||||
// 357 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xb1, 0x6e, 0xe2, 0x30,
|
||||
0x1c, 0xc6, 0x31, 0xdc, 0x71, 0xc2, 0xdc, 0xe9, 0xa4, 0x48, 0xdc, 0x85, 0xe8, 0x14, 0xe5, 0x22,
|
||||
0x55, 0xca, 0x64, 0x2b, 0xad, 0x3a, 0x74, 0xa4, 0x5b, 0x07, 0x86, 0xa6, 0x4c, 0xed, 0x10, 0x39,
|
||||
0x89, 0x09, 0x51, 0xc1, 0x46, 0xf6, 0x3f, 0x60, 0xde, 0xa2, 0x4f, 0xd1, 0x67, 0xe9, 0xc8, 0xd8,
|
||||
0xb1, 0x82, 0x17, 0xa9, 0x4a, 0xa0, 0xb4, 0x15, 0x1d, 0x3a, 0xe6, 0xfb, 0x7e, 0xf9, 0xe9, 0xb3,
|
||||
0x6c, 0xdc, 0x4b, 0xa5, 0x9e, 0x48, 0x4d, 0x59, 0x9a, 0xca, 0x52, 0x80, 0xa6, 0x85, 0x00, 0xae,
|
||||
0x86, 0x2c, 0xe5, 0xaf, 0x59, 0xcc, 0x12, 0x0d, 0x8a, 0xa5, 0x50, 0x48, 0x41, 0x67, 0xe1, 0x9e,
|
||||
0x20, 0x53, 0x25, 0x41, 0x5a, 0x61, 0xa5, 0x20, 0x3b, 0x05, 0xd9, 0x2b, 0xc8, 0x01, 0x05, 0x99,
|
||||
0x85, 0x4e, 0x37, 0x97, 0x32, 0x1f, 0x73, 0xba, 0x11, 0x24, 0xe5, 0x90, 0x32, 0xb1, 0xa8, 0x6c,
|
||||
0x8e, 0xb3, 0x1d, 0x04, 0x86, 0xce, 0xc2, 0x84, 0x03, 0x0b, 0x29, 0x98, 0xaa, 0xf3, 0xef, 0x11,
|
||||
0xfe, 0xdd, 0xd7, 0x79, 0xaf, 0x84, 0x11, 0x17, 0x50, 0xa4, 0x0c, 0xb8, 0x65, 0xe3, 0x1f, 0x49,
|
||||
0x29, 0xb2, 0x31, 0x57, 0x36, 0xf2, 0x50, 0xd0, 0x8a, 0x76, 0x9f, 0x16, 0xc5, 0x4d, 0xc5, 0xe6,
|
||||
0x31, 0x18, 0xbb, 0xee, 0xa1, 0xa0, 0x7d, 0x6c, 0x93, 0xed, 0x50, 0x30, 0x64, 0xab, 0x26, 0x03,
|
||||
0x13, 0xb1, 0x79, 0xf4, 0x5d, 0xb1, 0xf9, 0xc0, 0x58, 0x47, 0xb8, 0x0e, 0xc6, 0x6e, 0x6c, 0xe0,
|
||||
0xce, 0x61, 0xb8, 0x0e, 0xc6, 0xfa, 0x8f, 0x7f, 0xea, 0x22, 0x17, 0x5c, 0xc5, 0x85, 0xc8, 0xb8,
|
||||
0xb1, 0xbf, 0x79, 0x28, 0xf8, 0x15, 0xb5, 0xab, 0xec, 0xe2, 0x25, 0xf2, 0xbb, 0xf8, 0xef, 0x87,
|
||||
0x9d, 0x11, 0xd7, 0x53, 0x29, 0x34, 0xf7, 0xff, 0x61, 0xe7, 0xb2, 0xe4, 0x6a, 0xf1, 0xa6, 0x2c,
|
||||
0xa4, 0xe8, 0x73, 0x18, 0xc9, 0x4c, 0xfb, 0x37, 0xd8, 0xff, 0xbc, 0xdd, 0x39, 0xac, 0x53, 0xfc,
|
||||
0x87, 0xbd, 0x03, 0xe2, 0x49, 0x45, 0xd8, 0xc8, 0x6b, 0x04, 0xad, 0xa8, 0xc3, 0x0e, 0xfd, 0x7e,
|
||||
0x7e, 0xf5, 0xb0, 0x72, 0xd1, 0x72, 0xe5, 0xa2, 0xa7, 0x95, 0x8b, 0xee, 0xd6, 0x6e, 0x6d, 0xb9,
|
||||
0x76, 0x6b, 0x8f, 0x6b, 0xb7, 0x76, 0x7d, 0x56, 0x1d, 0x56, 0x67, 0xb7, 0xa4, 0x90, 0xd4, 0x7c,
|
||||
0xe1, 0x35, 0x24, 0xcd, 0xcd, 0xd5, 0x9c, 0x3c, 0x07, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x1c, 0xbd,
|
||||
0x8a, 0x49, 0x02, 0x00, 0x00,
|
||||
// 338 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0xb1, 0x4e, 0xeb, 0x30,
|
||||
0x14, 0x86, 0xeb, 0xf6, 0xde, 0xa2, 0xba, 0x20, 0xa4, 0x48, 0x85, 0x50, 0xa1, 0x28, 0x44, 0x42,
|
||||
0xca, 0x64, 0x2b, 0x20, 0x06, 0xc6, 0xb2, 0x31, 0x74, 0x20, 0x74, 0x82, 0x21, 0x72, 0x12, 0xd3,
|
||||
0x5a, 0x50, 0xbb, 0xb2, 0x4f, 0x5a, 0xf3, 0x16, 0x3c, 0x05, 0xcf, 0xc2, 0xd8, 0x91, 0x11, 0xb5,
|
||||
0x2f, 0x82, 0x68, 0x5a, 0x0a, 0xa8, 0x0c, 0x8c, 0xfe, 0xcf, 0xe7, 0xcf, 0xc7, 0xfa, 0x71, 0x27,
|
||||
0x53, 0x66, 0xa8, 0x0c, 0x65, 0x59, 0xa6, 0x0a, 0x09, 0x86, 0x0a, 0x09, 0x5c, 0xdf, 0xb1, 0x8c,
|
||||
0x7f, 0x66, 0x09, 0x4b, 0x0d, 0x68, 0x96, 0x81, 0x50, 0x92, 0x8e, 0xa3, 0x35, 0x41, 0x46, 0x5a,
|
||||
0x81, 0x72, 0xa2, 0x52, 0x41, 0x56, 0x0a, 0xb2, 0x56, 0x90, 0x0d, 0x0a, 0x32, 0x8e, 0xda, 0xed,
|
||||
0xe5, 0xab, 0x60, 0xe9, 0x38, 0x4a, 0x39, 0xb0, 0x88, 0x82, 0x2d, 0x75, 0xc1, 0x33, 0xc2, 0xbb,
|
||||
0x5d, 0xd3, 0xef, 0x14, 0x30, 0xe0, 0x12, 0x44, 0xc6, 0x80, 0x3b, 0x2e, 0xde, 0x4a, 0x0b, 0x99,
|
||||
0x3f, 0x70, 0xed, 0x22, 0x1f, 0x85, 0x8d, 0x78, 0x75, 0x74, 0x28, 0xae, 0x6b, 0x36, 0x49, 0xc0,
|
||||
0xba, 0x55, 0x1f, 0x85, 0xcd, 0x13, 0x97, 0x2c, 0xb7, 0x01, 0x4b, 0x96, 0x6a, 0xd2, 0xb3, 0x31,
|
||||
0x9b, 0xc4, 0xff, 0x35, 0x9b, 0xf4, 0xac, 0x73, 0x8c, 0xab, 0x60, 0xdd, 0xda, 0x02, 0x6e, 0x6d,
|
||||
0x86, 0xab, 0x60, 0x9d, 0x23, 0xbc, 0x6d, 0x44, 0x5f, 0x72, 0x9d, 0x08, 0x99, 0x73, 0xeb, 0xfe,
|
||||
0xf3, 0x51, 0xb8, 0x13, 0x37, 0xcb, 0xec, 0xf2, 0x23, 0x0a, 0x0e, 0xf0, 0xfe, 0x8f, 0x3d, 0x63,
|
||||
0x6e, 0x46, 0x4a, 0x1a, 0x1e, 0x1c, 0xe2, 0xf6, 0x55, 0xc1, 0xf5, 0xe3, 0x97, 0xa1, 0x50, 0xb2,
|
||||
0xcb, 0x61, 0xa0, 0x72, 0x13, 0xdc, 0xe2, 0xe0, 0xf7, 0xe9, 0xca, 0xe1, 0x9c, 0xe1, 0x3d, 0xf6,
|
||||
0x0d, 0x48, 0x86, 0x25, 0xe1, 0x22, 0xbf, 0x16, 0x36, 0xe2, 0x16, 0xdb, 0x74, 0xfd, 0xe2, 0xfa,
|
||||
0x65, 0xe6, 0xa1, 0xe9, 0xcc, 0x43, 0x6f, 0x33, 0x0f, 0x3d, 0xcd, 0xbd, 0xca, 0x74, 0xee, 0x55,
|
||||
0x5e, 0xe7, 0x5e, 0xe5, 0xe6, 0xbc, 0xfc, 0xac, 0xc9, 0xef, 0x89, 0x50, 0xd4, 0xfe, 0xa1, 0xf2,
|
||||
0xb4, 0xbe, 0xa8, 0xe6, 0xf4, 0x3d, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x1c, 0x3d, 0x0e, 0x2e, 0x02,
|
||||
0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *MsgAuthenticate) Marshal() (dAtA []byte, err error) {
|
||||
|
||||
@ -29,6 +29,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
|
||||
### Improvements
|
||||
|
||||
* [#19458](https://github.com/cosmos/cosmos-sdk/pull/19458) Avoid writing SignInfo's for validator's who did not miss a block. (Every BeginBlock)
|
||||
* [#18959](https://github.com/cosmos/cosmos-sdk/pull/18959) Avoid deserialization of parameters with every validator lookup
|
||||
* [#18636](https://github.com/cosmos/cosmos-sdk/pull/18636) `JailUntil` and `Tombstone` methods no longer panics if the signing info does not exist for the validator but instead returns error.
|
||||
|
||||
@ -41,5 +42,6 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* remove from `types`: `AddrPubkeyRelationKey`
|
||||
* remove from `Keeper`: `AddPubkey`
|
||||
* [#19440](https://github.com/cosmos/cosmos-sdk/pull/19440) Slashing Module creation takes `appmodule.Environment` instead of individual services
|
||||
* [#19458](https://github.com/cosmos/cosmos-sdk/pull/19458) ValidatorSigningInfo.IndexOffset is deprecated, and no longer used. The index is now derived using just the StartHeight.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@ -212,10 +212,11 @@ provisions and rewards.
|
||||
At the beginning of each block, we update the `ValidatorSigningInfo` for each
|
||||
validator and check if they've crossed below the liveness threshold over a
|
||||
sliding window. This sliding window is defined by `SignedBlocksWindow` and the
|
||||
index in this window is determined by `IndexOffset` found in the validator's
|
||||
`ValidatorSigningInfo`. For each block processed, the `IndexOffset` is incremented
|
||||
regardless if the validator signed or not. Once the index is determined, the
|
||||
`MissedBlocksBitArray` and `MissedBlocksCounter` are updated accordingly.
|
||||
index in this window is determined by (`height - SignInfo.StartHeight`).
|
||||
Notice that the position in the sliding window is incremented every block,
|
||||
independent of whether the validator signed or not.
|
||||
Once the index is determined, the `MissedBlocksBitArray` and
|
||||
`MissedBlocksCounter` are updated accordingly.
|
||||
|
||||
Finally, in order to determine if a validator crosses below the liveness threshold,
|
||||
we fetch the maximum number of blocks missed, `maxMissed`, which is
|
||||
@ -235,10 +236,8 @@ for vote in block.LastCommitInfo.Votes {
|
||||
signInfo := GetValidatorSigningInfo(vote.Validator.Address)
|
||||
|
||||
// This is a relative index, so we counts blocks the validator SHOULD have
|
||||
// signed. We use the 0-value default signing info if not present, except for
|
||||
// start height.
|
||||
index := signInfo.IndexOffset % SignedBlocksWindow()
|
||||
signInfo.IndexOffset++
|
||||
// signed. We use the 0-value default signing info if not present.
|
||||
index := (height - signInfo.StartHeight) % SignedBlocksWindow()
|
||||
|
||||
// Update MissedBlocksBitArray and MissedBlocksCounter. The MissedBlocksCounter
|
||||
// just tracks the sum of MissedBlocksBitArray. That way we avoid needing to
|
||||
|
||||
@ -23,9 +23,9 @@ func (s *KeeperTestSuite) TestExportAndInitGenesis() {
|
||||
consStr2, err := s.stakingKeeper.ConsensusAddressCodec().BytesToString(consAddr2)
|
||||
require.NoError(err)
|
||||
|
||||
info1 := types.NewValidatorSigningInfo(consStr1, int64(4), int64(3),
|
||||
info1 := types.NewValidatorSigningInfo(consStr1, int64(4),
|
||||
time.Now().UTC().Add(100000000000), false, int64(10))
|
||||
info2 := types.NewValidatorSigningInfo(consStr2, int64(5), int64(4),
|
||||
info2 := types.NewValidatorSigningInfo(consStr2, int64(5),
|
||||
time.Now().UTC().Add(10000000000), false, int64(10))
|
||||
|
||||
s.Require().NoError(keeper.ValidatorSigningInfo.Set(ctx, consAddr1, info1))
|
||||
|
||||
@ -36,7 +36,6 @@ func (s *KeeperTestSuite) TestGRPCSigningInfo() {
|
||||
signingInfo := slashingtypes.NewValidatorSigningInfo(
|
||||
consStr,
|
||||
0,
|
||||
int64(0),
|
||||
time.Unix(2, 0),
|
||||
false,
|
||||
int64(0),
|
||||
@ -66,7 +65,6 @@ func (s *KeeperTestSuite) TestGRPCSigningInfos() {
|
||||
signingInfo := slashingtypes.NewValidatorSigningInfo(
|
||||
consStr1,
|
||||
0,
|
||||
int64(0),
|
||||
time.Unix(2, 0),
|
||||
false,
|
||||
int64(0),
|
||||
|
||||
@ -39,7 +39,6 @@ func (h Hooks) AfterValidatorBonded(ctx context.Context, consAddr sdk.ConsAddres
|
||||
signingInfo = types.NewValidatorSigningInfo(
|
||||
consStr,
|
||||
blockHeight,
|
||||
0,
|
||||
time.Unix(0, 0),
|
||||
false,
|
||||
0,
|
||||
|
||||
@ -58,12 +58,21 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
signedBlocksWindow := params.SignedBlocksWindow
|
||||
|
||||
// Compute the relative index, so we count the blocks the validator *should*
|
||||
// have signed. We will use the 0-value default signing info if not present,
|
||||
// except for start height. The index is in the range [0, SignedBlocksWindow)
|
||||
// have signed. We will also use the 0-value default signing info if not present.
|
||||
// The index is in the range [0, SignedBlocksWindow)
|
||||
// and is used to see if a validator signed a block at the given height, which
|
||||
// is represented by a bit in the bitmap.
|
||||
index := signInfo.IndexOffset % signedBlocksWindow
|
||||
signInfo.IndexOffset++
|
||||
// The validator start height should get mapped to index 0, so we computed index as:
|
||||
// (height - startHeight) % signedBlocksWindow
|
||||
//
|
||||
// NOTE: There is subtle different behavior between genesis validators and non-genesis validators.
|
||||
// A genesis validator will start at index 0, whereas a non-genesis validator's startHeight will be the block
|
||||
// they bonded on, but the first block they vote on will be one later. (And thus their first vote is at index 1)
|
||||
index := (height - signInfo.StartHeight) % signedBlocksWindow
|
||||
if signInfo.StartHeight > height {
|
||||
return fmt.Errorf("invalid state, the validator %v has start height %d , which is greater than the current height %d (as parsed from the header)",
|
||||
signInfo.Address, signInfo.StartHeight, height)
|
||||
}
|
||||
|
||||
// determine if the validator signed the previous block
|
||||
previous, err := k.GetMissedBlockBitmapValue(ctx, consAddr, index)
|
||||
@ -71,6 +80,7 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
return errors.Wrap(err, "failed to get the validator's bitmap value")
|
||||
}
|
||||
|
||||
modifiedSignInfo := false
|
||||
missed := signed == comet.BlockIDFlagAbsent
|
||||
switch {
|
||||
case !previous && missed:
|
||||
@ -81,6 +91,7 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
}
|
||||
|
||||
signInfo.MissedBlocksCounter++
|
||||
modifiedSignInfo = true
|
||||
|
||||
case previous && !missed:
|
||||
// Bitmap value has changed from missed to not missed, so we flip the bit
|
||||
@ -90,6 +101,7 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
}
|
||||
|
||||
signInfo.MissedBlocksCounter--
|
||||
modifiedSignInfo = true
|
||||
|
||||
default:
|
||||
// bitmap value at this index has not changed, no need to update counter
|
||||
@ -126,6 +138,7 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
|
||||
// if we are past the minimum height and the validator has missed too many blocks, punish them
|
||||
if height > minHeight && signInfo.MissedBlocksCounter > maxMissed {
|
||||
modifiedSignInfo = true
|
||||
validator, err := k.sk.ValidatorByConsAddr(ctx, consAddr)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -172,8 +185,9 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
|
||||
// We need to reset the counter & bitmap so that the validator won't be
|
||||
// immediately slashed for downtime upon re-bonding.
|
||||
// We don't set the start height as this will get correctly set
|
||||
// once they bond again in the AfterValidatorBonded hook!
|
||||
signInfo.MissedBlocksCounter = 0
|
||||
signInfo.IndexOffset = 0
|
||||
err = k.DeleteMissedBlockBitmap(ctx, consAddr)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -198,5 +212,8 @@ func (k Keeper) HandleValidatorSignatureWithParams(ctx context.Context, params t
|
||||
}
|
||||
|
||||
// Set the updated signing info
|
||||
return k.ValidatorSigningInfo.Set(ctx, consAddr, signInfo)
|
||||
if modifiedSignInfo {
|
||||
return k.ValidatorSigningInfo.Set(ctx, consAddr, signInfo)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -221,7 +221,7 @@ func (s *KeeperTestSuite) TestUnjail() {
|
||||
|
||||
s.Require().NoError(err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4), int64(3),
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4),
|
||||
time.Unix(2, 0), false, int64(10))
|
||||
|
||||
s.Require().NoError(s.slashingKeeper.ValidatorSigningInfo.Set(s.ctx, sdk.ConsAddress(addr), info))
|
||||
@ -256,7 +256,7 @@ func (s *KeeperTestSuite) TestUnjail() {
|
||||
|
||||
s.Require().NoError(err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4), int64(3),
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4),
|
||||
time.Unix(2, 0), true, int64(10))
|
||||
|
||||
s.Require().NoError(s.slashingKeeper.ValidatorSigningInfo.Set(s.ctx, sdk.ConsAddress(addr), info))
|
||||
@ -291,7 +291,7 @@ func (s *KeeperTestSuite) TestUnjail() {
|
||||
|
||||
s.Require().NoError(err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4), int64(3),
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4),
|
||||
s.ctx.HeaderInfo().Time.AddDate(0, 0, 1), false, int64(10))
|
||||
|
||||
s.Require().NoError(s.slashingKeeper.ValidatorSigningInfo.Set(s.ctx, sdk.ConsAddress(addr), info))
|
||||
@ -326,7 +326,7 @@ func (s *KeeperTestSuite) TestUnjail() {
|
||||
val.Jailed = true
|
||||
s.Require().NoError(err)
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4), int64(3),
|
||||
info := slashingtypes.NewValidatorSigningInfo(consStr, int64(4),
|
||||
time.Unix(2, 0), false, int64(10))
|
||||
|
||||
s.Require().NoError(s.slashingKeeper.ValidatorSigningInfo.Set(s.ctx, sdk.ConsAddress(addr), info))
|
||||
|
||||
@ -22,7 +22,6 @@ func (s *KeeperTestSuite) TestValidatorSigningInfo() {
|
||||
signingInfo := slashingtypes.NewValidatorSigningInfo(
|
||||
consStr,
|
||||
ctx.BlockHeight(),
|
||||
int64(3),
|
||||
time.Unix(2, 0),
|
||||
false,
|
||||
int64(10),
|
||||
@ -34,7 +33,6 @@ func (s *KeeperTestSuite) TestValidatorSigningInfo() {
|
||||
info, err := keeper.ValidatorSigningInfo.Get(ctx, consAddr)
|
||||
require.NoError(err)
|
||||
require.Equal(info.StartHeight, ctx.BlockHeight())
|
||||
require.Equal(info.IndexOffset, int64(3))
|
||||
require.Equal(info.JailedUntil, time.Unix(2, 0).UTC())
|
||||
require.Equal(info.MissedBlocksCounter, int64(10))
|
||||
|
||||
@ -126,7 +124,6 @@ func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() {
|
||||
newInfo := slashingtypes.NewValidatorSigningInfo(
|
||||
newConsAddr.String(),
|
||||
int64(4),
|
||||
int64(3),
|
||||
time.Unix(2, 0).UTC(),
|
||||
false,
|
||||
int64(10),
|
||||
|
||||
@ -31,7 +31,7 @@ func TestDecodeStore(t *testing.T) {
|
||||
consAddrStr1, err := addresscodec.NewBech32Codec("cosmosvalcons").BytesToString(consAddr1)
|
||||
require.NoError(t, err)
|
||||
|
||||
info := types.NewValidatorSigningInfo(consAddrStr1, 0, 1, time.Now().UTC(), false, 0)
|
||||
info := types.NewValidatorSigningInfo(consAddrStr1, 0, time.Now().UTC(), false, 0)
|
||||
|
||||
kvPairs := kv.Pairs{
|
||||
Pairs: []kv.Pair{
|
||||
|
||||
@ -6,13 +6,12 @@ import (
|
||||
|
||||
// NewValidatorSigningInfo creates a new ValidatorSigningInfo instance
|
||||
func NewValidatorSigningInfo(
|
||||
consAddr string, startHeight, indexOffset int64,
|
||||
consAddr string, startHeight int64,
|
||||
jailedUntil time.Time, tombstoned bool, missedBlocksCounter int64,
|
||||
) ValidatorSigningInfo {
|
||||
return ValidatorSigningInfo{
|
||||
Address: consAddr,
|
||||
StartHeight: startHeight,
|
||||
IndexOffset: indexOffset,
|
||||
JailedUntil: jailedUntil,
|
||||
Tombstoned: tombstoned,
|
||||
MissedBlocksCounter: missedBlocksCounter,
|
||||
|
||||
@ -37,10 +37,10 @@ type ValidatorSigningInfo struct {
|
||||
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Height at which validator was first a candidate OR was un-jailed
|
||||
StartHeight int64 `protobuf:"varint,2,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"`
|
||||
// Index which is incremented every time a validator is bonded in a block and
|
||||
// DEPRECATED: Index which is incremented every time a validator is bonded in a block and
|
||||
// _may_ have signed a pre-commit or not. This in conjunction with the
|
||||
// signed_blocks_window param determines the index in the missed block bitmap.
|
||||
IndexOffset int64 `protobuf:"varint,3,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"`
|
||||
IndexOffset int64 `protobuf:"varint,3,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` // Deprecated: Do not use.
|
||||
// Timestamp until which the validator is jailed due to liveness downtime.
|
||||
JailedUntil time.Time `protobuf:"bytes,4,opt,name=jailed_until,json=jailedUntil,proto3,stdtime" json:"jailed_until"`
|
||||
// Whether or not a validator has been tombstoned (killed out of validator
|
||||
@ -99,6 +99,7 @@ func (m *ValidatorSigningInfo) GetStartHeight() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (m *ValidatorSigningInfo) GetIndexOffset() int64 {
|
||||
if m != nil {
|
||||
return m.IndexOffset
|
||||
@ -193,47 +194,47 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_1078e5d96a74cc52 = []byte{
|
||||
// 625 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcf, 0x4f, 0xd4, 0x40,
|
||||
0x18, 0xdd, 0x01, 0x44, 0x9d, 0xc5, 0x83, 0xe3, 0x22, 0x65, 0x95, 0xee, 0xc2, 0xc1, 0x6c, 0x48,
|
||||
0x68, 0x05, 0x13, 0x0f, 0x70, 0x72, 0xd9, 0x18, 0x35, 0x24, 0x92, 0xc5, 0x1f, 0x89, 0x07, 0x9b,
|
||||
0x69, 0x67, 0xb6, 0x3b, 0xd2, 0xce, 0x6c, 0x3a, 0x53, 0x17, 0xfe, 0x05, 0x13, 0x13, 0x8e, 0x1e,
|
||||
0x3d, 0x72, 0xe4, 0xc0, 0x3f, 0xe0, 0x8d, 0x23, 0xe1, 0x64, 0x3c, 0xa0, 0xd9, 0x3d, 0xe0, 0x9f,
|
||||
0x61, 0x3a, 0xd3, 0x2e, 0x08, 0x37, 0x2e, 0x4d, 0xfb, 0xde, 0xfb, 0xde, 0x37, 0xdf, 0x9b, 0x2f,
|
||||
0x85, 0x8f, 0x02, 0x21, 0x63, 0x21, 0x5d, 0x19, 0x61, 0xd9, 0x65, 0x3c, 0x74, 0x3f, 0x2f, 0xfb,
|
||||
0x54, 0xe1, 0xe5, 0x11, 0xe0, 0xf4, 0x12, 0xa1, 0x04, 0x9a, 0x31, 0x3a, 0x67, 0x04, 0xe7, 0xba,
|
||||
0x6a, 0x25, 0x14, 0xa1, 0xd0, 0x1a, 0x37, 0x7b, 0x33, 0xf2, 0xaa, 0x1d, 0x0a, 0x11, 0x46, 0xd4,
|
||||
0xd5, 0x5f, 0x7e, 0xda, 0x71, 0x49, 0x9a, 0x60, 0xc5, 0x04, 0xcf, 0xf9, 0xda, 0x65, 0x5e, 0xb1,
|
||||
0x98, 0x4a, 0x85, 0xe3, 0x5e, 0x2e, 0x98, 0x35, 0xfd, 0x3c, 0xe3, 0x9c, 0x37, 0x37, 0xd4, 0x5d,
|
||||
0x1c, 0x33, 0x2e, 0x5c, 0xfd, 0x34, 0xd0, 0xc2, 0x8f, 0x31, 0x58, 0x79, 0x87, 0x23, 0x46, 0xb0,
|
||||
0x12, 0xc9, 0x16, 0x0b, 0x39, 0xe3, 0xe1, 0x4b, 0xde, 0x11, 0x68, 0x0d, 0xde, 0xc4, 0x84, 0x24,
|
||||
0x54, 0x4a, 0x0b, 0xd4, 0x41, 0xe3, 0x76, 0x73, 0xfe, 0xe4, 0x70, 0x69, 0x2e, 0xb7, 0x5b, 0x17,
|
||||
0x5c, 0x52, 0x2e, 0x53, 0xf9, 0xcc, 0x48, 0xb6, 0x54, 0xc2, 0x78, 0xd8, 0x2e, 0x2a, 0xd0, 0x3c,
|
||||
0x9c, 0x92, 0x0a, 0x27, 0xca, 0xeb, 0x52, 0x16, 0x76, 0x95, 0x35, 0x56, 0x07, 0x8d, 0xf1, 0x76,
|
||||
0x59, 0x63, 0x2f, 0x34, 0x94, 0x49, 0x18, 0x27, 0x74, 0xc7, 0x13, 0x9d, 0x8e, 0xa4, 0xca, 0x1a,
|
||||
0x37, 0x12, 0x8d, 0xbd, 0xd6, 0x10, 0xda, 0x80, 0x53, 0x9f, 0x30, 0x8b, 0x28, 0xf1, 0x52, 0xae,
|
||||
0x58, 0x64, 0x4d, 0xd4, 0x41, 0xa3, 0xbc, 0x52, 0x75, 0x4c, 0x02, 0x4e, 0x91, 0x80, 0xf3, 0xa6,
|
||||
0x48, 0xa0, 0x79, 0xe7, 0xe8, 0xb4, 0x56, 0xda, 0xfb, 0x5d, 0x03, 0xfb, 0x67, 0x07, 0x8b, 0xa0,
|
||||
0x5d, 0x36, 0xe5, 0x6f, 0xb3, 0x6a, 0x64, 0x43, 0xa8, 0x44, 0xec, 0x4b, 0x25, 0x38, 0x25, 0xd6,
|
||||
0x8d, 0x3a, 0x68, 0xdc, 0x6a, 0x5f, 0x40, 0xd0, 0x0a, 0x9c, 0x8e, 0x99, 0x94, 0x94, 0x78, 0x7e,
|
||||
0x24, 0x82, 0x6d, 0xe9, 0x05, 0x22, 0xe5, 0x8a, 0x26, 0xd6, 0xa4, 0x3e, 0xd9, 0x3d, 0x43, 0x36,
|
||||
0x35, 0xb7, 0x6e, 0xa8, 0xd5, 0x89, 0xbf, 0xdf, 0x6b, 0x60, 0xe1, 0xeb, 0x04, 0x9c, 0xdc, 0xc4,
|
||||
0x09, 0x8e, 0x25, 0x7a, 0x0c, 0x2b, 0x92, 0x85, 0xfc, 0xdc, 0xa4, 0xcf, 0x38, 0x11, 0x7d, 0x1d,
|
||||
0xe1, 0x78, 0x1b, 0x19, 0xce, 0x78, 0xbc, 0xd7, 0x0c, 0x62, 0x59, 0x5b, 0xee, 0xe5, 0x55, 0x3d,
|
||||
0x9a, 0x14, 0x25, 0x59, 0x66, 0x53, 0xcd, 0xa7, 0xd9, 0x44, 0xbf, 0x4e, 0x6b, 0x0f, 0x4c, 0xf2,
|
||||
0x92, 0x6c, 0x3b, 0x4c, 0xb8, 0x31, 0x56, 0x5d, 0x67, 0x83, 0x86, 0x38, 0xd8, 0x6d, 0xd1, 0xe0,
|
||||
0xe4, 0x70, 0x09, 0xe6, 0x17, 0xd3, 0xa2, 0x81, 0x19, 0x1d, 0xc5, 0x8c, 0x6f, 0x69, 0xcf, 0x4d,
|
||||
0x9a, 0xe4, 0xad, 0x3e, 0xc2, 0xfb, 0x44, 0xf4, 0x79, 0xb6, 0x30, 0x5e, 0x96, 0x8c, 0x57, 0xac,
|
||||
0x96, 0x0e, 0xbf, 0xbc, 0x32, 0x7b, 0x25, 0xd9, 0x56, 0x2e, 0x30, 0xc1, 0x7e, 0x1b, 0x05, 0x5b,
|
||||
0x29, 0x7c, 0x5e, 0x61, 0x16, 0x15, 0x22, 0x24, 0x61, 0x55, 0x2f, 0xb9, 0xd7, 0x49, 0x70, 0x90,
|
||||
0x21, 0x1e, 0x11, 0xa9, 0x1f, 0x51, 0x3d, 0x9c, 0xbe, 0xbd, 0xeb, 0xcf, 0x33, 0xa3, 0x9d, 0x9f,
|
||||
0xe7, 0xc6, 0x2d, 0xed, 0x9b, 0xcd, 0x87, 0x38, 0x9c, 0xb9, 0xd2, 0xd4, 0x9c, 0x4d, 0xdf, 0xf1,
|
||||
0xf5, 0x3b, 0x4e, 0x5f, 0xea, 0x68, 0x4c, 0x57, 0xe7, 0xbf, 0x9c, 0x1d, 0x2c, 0x3e, 0x34, 0xe2,
|
||||
0x25, 0x49, 0xb6, 0xdd, 0x9d, 0xf3, 0x3f, 0x80, 0x59, 0x82, 0xe6, 0xda, 0xfe, 0xc0, 0x06, 0x47,
|
||||
0x03, 0x1b, 0x1c, 0x0f, 0x6c, 0xf0, 0x67, 0x60, 0x83, 0xbd, 0xa1, 0x5d, 0x3a, 0x1e, 0xda, 0xa5,
|
||||
0x9f, 0x43, 0xbb, 0xf4, 0x61, 0xee, 0xbf, 0x73, 0x5c, 0xa8, 0x56, 0xbb, 0x3d, 0x2a, 0xfd, 0x49,
|
||||
0x1d, 0xfe, 0x93, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x18, 0xd0, 0xfc, 0x71, 0x5f, 0x04, 0x00,
|
||||
0x00,
|
||||
// 633 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4f, 0x4f, 0x13, 0x4f,
|
||||
0x18, 0xee, 0x00, 0x3f, 0x7e, 0x3a, 0xad, 0x07, 0xc7, 0x22, 0x4b, 0x95, 0x6d, 0x21, 0xd1, 0x34,
|
||||
0x24, 0xec, 0x0a, 0x26, 0x1e, 0xe0, 0x64, 0x69, 0x8c, 0x1a, 0x12, 0xc9, 0xe2, 0x9f, 0xc4, 0x83,
|
||||
0x9b, 0xd9, 0x9d, 0xe9, 0x76, 0x64, 0x77, 0xa6, 0xd9, 0x99, 0x15, 0xf8, 0x0a, 0x26, 0x26, 0x1c,
|
||||
0x3d, 0x7a, 0xe4, 0xc8, 0x81, 0xaf, 0x60, 0xc2, 0x91, 0x70, 0x32, 0x1e, 0xd0, 0x94, 0x03, 0x7e,
|
||||
0x0c, 0xb3, 0x33, 0xbb, 0x80, 0x70, 0xe3, 0xd2, 0xb4, 0xcf, 0xf3, 0xbc, 0xcf, 0x3b, 0xef, 0xf3,
|
||||
0xbe, 0x29, 0x7c, 0x18, 0x0a, 0x99, 0x08, 0xe9, 0xca, 0x18, 0xcb, 0x3e, 0xe3, 0x91, 0xfb, 0x69,
|
||||
0x21, 0xa0, 0x0a, 0x2f, 0x9c, 0x01, 0xce, 0x20, 0x15, 0x4a, 0xa0, 0x49, 0xa3, 0x73, 0xce, 0xe0,
|
||||
0x42, 0xd7, 0xa8, 0x47, 0x22, 0x12, 0x5a, 0xe3, 0xe6, 0xdf, 0x8c, 0xbc, 0x61, 0x47, 0x42, 0x44,
|
||||
0x31, 0x75, 0xf5, 0xaf, 0x20, 0xeb, 0xb9, 0x24, 0x4b, 0xb1, 0x62, 0x82, 0x17, 0x7c, 0xf3, 0x32,
|
||||
0xaf, 0x58, 0x42, 0xa5, 0xc2, 0xc9, 0xa0, 0x10, 0x4c, 0x99, 0x7e, 0xbe, 0x71, 0x2e, 0x9a, 0x1b,
|
||||
0xea, 0x36, 0x4e, 0x18, 0x17, 0xae, 0xfe, 0x34, 0xd0, 0xec, 0xf7, 0x11, 0x58, 0x7f, 0x8b, 0x63,
|
||||
0x46, 0xb0, 0x12, 0xe9, 0x3a, 0x8b, 0x38, 0xe3, 0xd1, 0x0b, 0xde, 0x13, 0x68, 0x19, 0xfe, 0x8f,
|
||||
0x09, 0x49, 0xa9, 0x94, 0x16, 0x68, 0x81, 0xf6, 0xcd, 0xce, 0xcc, 0xd1, 0xfe, 0xfc, 0x74, 0x61,
|
||||
0xb7, 0x22, 0xb8, 0xa4, 0x5c, 0x66, 0xf2, 0xa9, 0x91, 0xac, 0xab, 0x94, 0xf1, 0xc8, 0x2b, 0x2b,
|
||||
0xd0, 0x0c, 0xac, 0x49, 0x85, 0x53, 0xe5, 0xf7, 0x29, 0x8b, 0xfa, 0xca, 0x1a, 0x69, 0x81, 0xf6,
|
||||
0xa8, 0x57, 0xd5, 0xd8, 0x73, 0x0d, 0xa1, 0x07, 0xb0, 0xc6, 0x38, 0xa1, 0x5b, 0xbe, 0xe8, 0xf5,
|
||||
0x24, 0x55, 0xd6, 0x68, 0x2e, 0xe9, 0x8c, 0x58, 0xc0, 0xab, 0x6a, 0xfc, 0x95, 0x86, 0xd1, 0x2a,
|
||||
0xac, 0x7d, 0xc4, 0x2c, 0xa6, 0xc4, 0xcf, 0xb8, 0x62, 0xb1, 0x35, 0xd6, 0x02, 0xed, 0xea, 0x62,
|
||||
0xc3, 0x31, 0x29, 0x38, 0x65, 0x0a, 0xce, 0xeb, 0x32, 0x85, 0xce, 0xad, 0x83, 0xe3, 0x66, 0x65,
|
||||
0xe7, 0x57, 0x13, 0xec, 0x9e, 0xee, 0xcd, 0x01, 0xaf, 0x6a, 0xca, 0xdf, 0xe4, 0xd5, 0xc8, 0x86,
|
||||
0x50, 0x89, 0x24, 0x90, 0x4a, 0x70, 0x4a, 0xac, 0xff, 0x5a, 0xa0, 0x7d, 0xc3, 0xbb, 0x80, 0xa0,
|
||||
0x45, 0x38, 0x91, 0x30, 0x29, 0x29, 0xf1, 0x83, 0x58, 0x84, 0x1b, 0xd2, 0x0f, 0x45, 0xc6, 0x15,
|
||||
0x4d, 0xad, 0x71, 0x3d, 0xc0, 0x1d, 0x43, 0x76, 0x34, 0xb7, 0x62, 0xa8, 0xa5, 0xb1, 0x3f, 0xdf,
|
||||
0x9a, 0x60, 0xf6, 0xcb, 0x18, 0x1c, 0x5f, 0xc3, 0x29, 0x4e, 0x24, 0x7a, 0x04, 0xeb, 0x92, 0x45,
|
||||
0xfc, 0xdc, 0x64, 0x93, 0x71, 0x22, 0x36, 0x75, 0x8c, 0xa3, 0x1e, 0x32, 0x9c, 0xf1, 0x78, 0xa7,
|
||||
0x19, 0xc4, 0xf2, 0xb6, 0xdc, 0x2f, 0xaa, 0x06, 0x34, 0x2d, 0x4b, 0xf2, 0xdc, 0x6a, 0x9d, 0x27,
|
||||
0xf9, 0x44, 0x3f, 0x8f, 0x9b, 0xf7, 0x4c, 0xfa, 0x92, 0x6c, 0x38, 0x4c, 0xb8, 0x09, 0x56, 0x7d,
|
||||
0x67, 0x95, 0x46, 0x38, 0xdc, 0xee, 0xd2, 0xf0, 0x68, 0x7f, 0x1e, 0x16, 0xcb, 0xe9, 0xd2, 0xd0,
|
||||
0x8c, 0x8e, 0x12, 0xc6, 0xd7, 0xb5, 0xe7, 0x1a, 0x4d, 0x8b, 0x56, 0x1f, 0xe0, 0x5d, 0x22, 0x36,
|
||||
0x79, 0x7e, 0x34, 0x7e, 0x9e, 0x8c, 0x5f, 0x9e, 0x97, 0x5e, 0x40, 0x75, 0x71, 0xea, 0x4a, 0xb2,
|
||||
0xdd, 0x42, 0x60, 0x82, 0xfd, 0x7a, 0x16, 0x6c, 0xbd, 0xf4, 0x79, 0x89, 0x59, 0x5c, 0x8a, 0x90,
|
||||
0x84, 0x0d, 0x7d, 0xe8, 0x7e, 0x2f, 0xc5, 0x61, 0x8e, 0xf8, 0x44, 0x64, 0x41, 0x4c, 0xf5, 0x70,
|
||||
0x7a, 0x7b, 0xd7, 0x9f, 0x67, 0x52, 0x3b, 0x3f, 0x2b, 0x8c, 0xbb, 0xda, 0x37, 0x9f, 0x0f, 0x71,
|
||||
0x38, 0x79, 0xa5, 0xa9, 0x79, 0x9b, 0xde, 0xf1, 0xf5, 0x3b, 0x4e, 0x5c, 0xea, 0x68, 0x4c, 0x97,
|
||||
0x66, 0x3e, 0x9f, 0xee, 0xcd, 0xdd, 0x37, 0xe2, 0x79, 0x49, 0x36, 0xdc, 0xad, 0xf3, 0x7f, 0x01,
|
||||
0x73, 0x04, 0x9d, 0xe5, 0xdd, 0xa1, 0x0d, 0x0e, 0x86, 0x36, 0x38, 0x1c, 0xda, 0xe0, 0xf7, 0xd0,
|
||||
0x06, 0x3b, 0x27, 0x76, 0xe5, 0xf0, 0xc4, 0xae, 0xfc, 0x38, 0xb1, 0x2b, 0xef, 0xa7, 0xff, 0x79,
|
||||
0xc7, 0x85, 0x6a, 0xb5, 0x3d, 0xa0, 0x32, 0x18, 0xd7, 0xe1, 0x3f, 0xfe, 0x1b, 0x00, 0x00, 0xff,
|
||||
0xff, 0x57, 0xe6, 0xe5, 0x80, 0x63, 0x04, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (this *ValidatorSigningInfo) Equal(that interface{}) bool {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user