From e0f01601e74225c4c4601ca5b69d14ced312a762 Mon Sep 17 00:00:00 2001 From: Charles Billette Date: Mon, 12 Aug 2024 08:38:52 -0400 Subject: [PATCH] added timestamp to gear block --- pb/sf/gear/type/v1/block.pb.go | 479 +++++++++++++------------ pb/sf/gear/type/v1/block_vtproto.pb.go | 142 ++++++-- proto/sf/gear/type/v1/block.proto | 12 +- rpc/fetcher.go | 9 +- 4 files changed, 383 insertions(+), 259 deletions(-) diff --git a/pb/sf/gear/type/v1/block.pb.go b/pb/sf/gear/type/v1/block.pb.go index 296cd40..edc8a6f 100644 --- a/pb/sf/gear/type/v1/block.pb.go +++ b/pb/sf/gear/type/v1/block.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.27.0 // protoc (unknown) // source: sf/gear/type/v1/block.proto @@ -9,6 +9,7 @@ package pbgear import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) @@ -25,14 +26,15 @@ type Block struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` - Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` - Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` - Extrinsics []*Extrinsic `protobuf:"bytes,4,rep,name=extrinsics,proto3" json:"extrinsics,omitempty"` - Events []*Event `protobuf:"bytes,5,rep,name=events,proto3" json:"events,omitempty"` - DigestItems []*DigestItem `protobuf:"bytes,6,rep,name=digest_items,json=digestItems,proto3" json:"digest_items,omitempty"` - Justification []byte `protobuf:"bytes,7,opt,name=justification,proto3" json:"justification,omitempty"` - RawEvents []byte `protobuf:"bytes,8,opt,name=raw_events,json=rawEvents,proto3" json:"raw_events,omitempty"` + Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` + Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Extrinsics []*Extrinsic `protobuf:"bytes,6,rep,name=extrinsics,proto3" json:"extrinsics,omitempty"` + Events []*Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"` + DigestItems []*DigestItem `protobuf:"bytes,8,rep,name=digest_items,json=digestItems,proto3" json:"digest_items,omitempty"` + Justification []byte `protobuf:"bytes,9,opt,name=justification,proto3" json:"justification,omitempty"` + RawEvents []byte `protobuf:"bytes,10,opt,name=raw_events,json=rawEvents,proto3" json:"raw_events,omitempty"` } func (x *Block) Reset() { @@ -88,6 +90,13 @@ func (x *Block) GetHeader() *Header { return nil } +func (x *Block) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + func (x *Block) GetExtrinsics() []*Extrinsic { if x != nil { return x.Extrinsics @@ -1343,192 +1352,198 @@ var File_sf_gear_type_v1_block_proto protoreflect.FileDescriptor var file_sf_gear_type_v1_block_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x73, 0x66, 0x2f, 0x67, 0x65, 0x61, 0x72, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, - 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x22, 0xd5, - 0x02, 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x2f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, - 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, 0x67, - 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x72, - 0x69, 0x6e, 0x73, 0x69, 0x63, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, - 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, - 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x61, 0x77, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, - 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, - 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, - 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf7, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x73, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x11, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x54, 0x72, 0x69, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x43, 0x0a, 0x0e, 0x61, 0x73, - 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x8f, 0x03, 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x05, 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, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, + 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x0a, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, + 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0c, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, - 0x00, 0x52, 0x0c, 0x61, 0x73, 0x50, 0x72, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x3f, 0x0a, 0x0c, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x0b, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0d, + 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x61, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, + 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, + 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x70, 0x65, + 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xf7, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x5f, 0x74, 0x72, 0x69, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x00, 0x52, 0x11, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x72, 0x69, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x43, 0x0a, 0x0e, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x5f, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x72, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x73, + 0x50, 0x72, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0b, + 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x61, + 0x73, 0x5f, 0x73, 0x65, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, + 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x61, 0x73, 0x53, 0x65, 0x61, 0x6c, 0x12, 0x59, 0x0a, + 0x16, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x65, + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x72, 0x69, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x48, 0x00, 0x52, 0x13, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x72, + 0x69, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x61, 0x73, + 0x4f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x52, 0x0a, + 0x0a, 0x50, 0x72, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, + 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x22, 0x51, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x12, 0x2e, + 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x04, 0x53, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x13, + 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, + 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x22, 0x77, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x72, 0x69, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x6e, 0x65, + 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x73, 0x5f, + 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x61, 0x73, 0x4e, 0x65, 0x77, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x09, + 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2d, 0x0a, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xda, 0x01, 0x0a, + 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x66, 0x2e, + 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x72, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x2f, 0x0a, 0x03, 0x65, 0x72, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x45, 0x72, 0x61, 0x52, 0x03, 0x65, 0x72, + 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x70, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x69, 0x70, 0x22, 0xac, 0x02, 0x0a, 0x0c, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x49, 0x64, 0x12, + 0x13, 0x0a, 0x05, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x61, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x19, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x61, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, + 0x5f, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x52, 0x61, + 0x77, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x73, 0x5f, 0x72, 0x61, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x61, 0x73, 0x52, 0x61, 0x77, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x33, 0x32, 0x12, 0x22, 0x0a, 0x0d, + 0x61, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x33, 0x32, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x33, 0x32, + 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x32, + 0x30, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x32, 0x30, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x32, 0x30, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x73, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x32, 0x30, 0x22, 0xc6, 0x01, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x69, + 0x73, 0x5f, 0x65, 0x64, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x69, 0x73, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x12, 0x1e, 0x0a, 0x0b, 0x61, + 0x73, 0x5f, 0x65, 0x64, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x09, 0x61, 0x73, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x12, 0x1e, 0x0a, 0x0b, 0x69, + 0x73, 0x5f, 0x73, 0x72, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x69, 0x73, 0x53, 0x72, 0x32, 0x35, 0x35, 0x31, 0x39, 0x12, 0x1e, 0x0a, 0x0b, 0x61, + 0x73, 0x5f, 0x73, 0x72, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x09, 0x61, 0x73, 0x53, 0x72, 0x32, 0x35, 0x35, 0x31, 0x39, 0x12, 0x19, 0x0a, 0x08, 0x69, + 0x73, 0x5f, 0x65, 0x63, 0x64, 0x73, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, + 0x73, 0x45, 0x63, 0x64, 0x73, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x65, 0x63, 0x64, + 0x73, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x73, 0x45, 0x63, 0x64, 0x73, + 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x0c, 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x45, + 0x72, 0x61, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x69, 0x6d, 0x6d, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x5f, 0x65, 0x72, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, + 0x6d, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, + 0x5f, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x12, 0x3e, + 0x0a, 0x0d, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, - 0x73, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, - 0x12, 0x30, 0x0a, 0x07, 0x61, 0x73, 0x5f, 0x73, 0x65, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x61, 0x73, 0x53, 0x65, - 0x61, 0x6c, 0x12, 0x59, 0x0a, 0x16, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x5f, 0x74, 0x72, 0x69, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x72, 0x69, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x13, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x54, 0x72, 0x69, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x1b, 0x0a, - 0x08, 0x61, 0x73, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x07, 0x61, 0x73, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x49, 0x74, - 0x65, 0x6d, 0x22, 0x52, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x73, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, - 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x04, 0x53, 0x65, 0x61, - 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x77, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x54, 0x72, 0x69, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, - 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x4e, 0x65, - 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, - 0x0a, 0x14, 0x61, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x61, 0x73, - 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, - 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x22, 0xda, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x35, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x66, 0x2e, 0x67, - 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x03, 0x65, 0x72, 0x61, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x45, 0x72, - 0x61, 0x52, 0x03, 0x65, 0x72, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x69, 0x70, 0x22, 0xac, - 0x02, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, - 0x69, 0x73, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x61, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x69, 0x73, 0x52, 0x61, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x73, 0x5f, 0x72, 0x61, 0x77, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x73, 0x52, 0x61, 0x77, 0x12, 0x22, 0x0a, - 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x33, 0x32, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x33, - 0x32, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, - 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x73, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x33, 0x32, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x5f, 0x32, 0x30, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x32, 0x30, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x73, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x32, 0x30, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x61, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x32, 0x30, 0x22, 0xc6, 0x01, - 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x64, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, - 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x73, 0x5f, 0x65, 0x64, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x73, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, - 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x72, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x72, 0x32, 0x35, 0x35, 0x31, 0x39, - 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x73, 0x5f, 0x73, 0x72, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x73, 0x53, 0x72, 0x32, 0x35, 0x35, 0x31, 0x39, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x63, 0x64, 0x73, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x63, 0x64, 0x73, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x61, - 0x73, 0x5f, 0x65, 0x63, 0x64, 0x73, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, - 0x73, 0x45, 0x63, 0x64, 0x73, 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x0c, 0x45, 0x78, 0x74, 0x72, 0x69, - 0x6e, 0x73, 0x69, 0x63, 0x45, 0x72, 0x61, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x69, 0x6d, - 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x69, 0x73, 0x49, 0x6d, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x12, - 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4d, 0x6f, 0x72, 0x74, 0x61, 0x6c, - 0x45, 0x72, 0x61, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x6c, - 0x5f, 0x65, 0x72, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, - 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x72, - 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x52, 0x0b, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x74, 0x61, 0x6c, - 0x45, 0x72, 0x61, 0x22, 0x55, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x63, - 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x09, 0x63, 0x61, 0x6c, - 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x53, 0x0a, 0x09, 0x43, 0x61, - 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0x71, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x05, - 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x66, - 0x2e, 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, - 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x22, 0xb9, 0x01, 0x0a, 0x05, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, - 0x69, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, - 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, - 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, - 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, - 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x39, - 0x0a, 0x09, 0x4d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x21, 0x0a, 0x0d, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x69, 0x70, 0x42, 0x42, 0x5a, 0x40, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x73, 0x74, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x68, 0x6f, 0x73, - 0x65, 0x2d, 0x67, 0x65, 0x61, 0x72, 0x2f, 0x70, 0x62, 0x2f, 0x73, 0x66, 0x2f, 0x67, 0x65, 0x61, - 0x72, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x62, 0x67, 0x65, 0x61, 0x72, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, + 0x61, 0x52, 0x0b, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x22, 0x55, + 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x66, 0x2e, + 0x67, 0x65, 0x61, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, + 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x53, 0x0a, 0x09, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x71, 0x0a, 0x05, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x66, 0x2e, 0x67, 0x65, 0x61, 0x72, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x22, 0xb9, 0x01, + 0x0a, 0x05, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x78, 0x74, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x61, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x78, 0x74, 0x72, 0x69, 0x6e, + 0x73, 0x69, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x39, 0x0a, 0x09, 0x4d, 0x6f, 0x72, + 0x74, 0x61, 0x6c, 0x45, 0x72, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x21, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x74, 0x69, 0x70, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x66, + 0x61, 0x73, 0x74, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x68, 0x6f, 0x73, 0x65, 0x2d, 0x67, 0x65, 0x61, + 0x72, 0x2f, 0x70, 0x62, 0x2f, 0x73, 0x66, 0x2f, 0x67, 0x65, 0x61, 0x72, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x62, 0x67, 0x65, 0x61, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1545,47 +1560,49 @@ func file_sf_gear_type_v1_block_proto_rawDescGZIP() []byte { var file_sf_gear_type_v1_block_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_sf_gear_type_v1_block_proto_goTypes = []interface{}{ - (*Block)(nil), // 0: sf.gear.type.v1.Block - (*Header)(nil), // 1: sf.gear.type.v1.Header - (*DigestItem)(nil), // 2: sf.gear.type.v1.DigestItem - (*PreRuntime)(nil), // 3: sf.gear.type.v1.PreRuntime - (*Consensus)(nil), // 4: sf.gear.type.v1.Consensus - (*Seal)(nil), // 5: sf.gear.type.v1.Seal - (*ChangesTrieSignal)(nil), // 6: sf.gear.type.v1.ChangesTrieSignal - (*Extrinsic)(nil), // 7: sf.gear.type.v1.Extrinsic - (*Signature)(nil), // 8: sf.gear.type.v1.Signature - (*MultiAddress)(nil), // 9: sf.gear.type.v1.MultiAddress - (*MultiSignature)(nil), // 10: sf.gear.type.v1.MultiSignature - (*ExtrinsicEra)(nil), // 11: sf.gear.type.v1.ExtrinsicEra - (*Call)(nil), // 12: sf.gear.type.v1.Call - (*CallIndex)(nil), // 13: sf.gear.type.v1.CallIndex - (*Event)(nil), // 14: sf.gear.type.v1.Event - (*Phase)(nil), // 15: sf.gear.type.v1.Phase - (*MortalEra)(nil), // 16: sf.gear.type.v1.MortalEra - (*PaymentFields)(nil), // 17: sf.gear.type.v1.PaymentFields + (*Block)(nil), // 0: sf.gear.type.v1.Block + (*Header)(nil), // 1: sf.gear.type.v1.Header + (*DigestItem)(nil), // 2: sf.gear.type.v1.DigestItem + (*PreRuntime)(nil), // 3: sf.gear.type.v1.PreRuntime + (*Consensus)(nil), // 4: sf.gear.type.v1.Consensus + (*Seal)(nil), // 5: sf.gear.type.v1.Seal + (*ChangesTrieSignal)(nil), // 6: sf.gear.type.v1.ChangesTrieSignal + (*Extrinsic)(nil), // 7: sf.gear.type.v1.Extrinsic + (*Signature)(nil), // 8: sf.gear.type.v1.Signature + (*MultiAddress)(nil), // 9: sf.gear.type.v1.MultiAddress + (*MultiSignature)(nil), // 10: sf.gear.type.v1.MultiSignature + (*ExtrinsicEra)(nil), // 11: sf.gear.type.v1.ExtrinsicEra + (*Call)(nil), // 12: sf.gear.type.v1.Call + (*CallIndex)(nil), // 13: sf.gear.type.v1.CallIndex + (*Event)(nil), // 14: sf.gear.type.v1.Event + (*Phase)(nil), // 15: sf.gear.type.v1.Phase + (*MortalEra)(nil), // 16: sf.gear.type.v1.MortalEra + (*PaymentFields)(nil), // 17: sf.gear.type.v1.PaymentFields + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp } var file_sf_gear_type_v1_block_proto_depIdxs = []int32{ 1, // 0: sf.gear.type.v1.Block.header:type_name -> sf.gear.type.v1.Header - 7, // 1: sf.gear.type.v1.Block.extrinsics:type_name -> sf.gear.type.v1.Extrinsic - 14, // 2: sf.gear.type.v1.Block.events:type_name -> sf.gear.type.v1.Event - 2, // 3: sf.gear.type.v1.Block.digest_items:type_name -> sf.gear.type.v1.DigestItem - 3, // 4: sf.gear.type.v1.DigestItem.as_pre_runtime:type_name -> sf.gear.type.v1.PreRuntime - 4, // 5: sf.gear.type.v1.DigestItem.as_consensus:type_name -> sf.gear.type.v1.Consensus - 5, // 6: sf.gear.type.v1.DigestItem.as_seal:type_name -> sf.gear.type.v1.Seal - 6, // 7: sf.gear.type.v1.DigestItem.as_changes_trie_signal:type_name -> sf.gear.type.v1.ChangesTrieSignal - 8, // 8: sf.gear.type.v1.Extrinsic.signature:type_name -> sf.gear.type.v1.Signature - 12, // 9: sf.gear.type.v1.Extrinsic.method:type_name -> sf.gear.type.v1.Call - 9, // 10: sf.gear.type.v1.Signature.signer:type_name -> sf.gear.type.v1.MultiAddress - 10, // 11: sf.gear.type.v1.Signature.signature:type_name -> sf.gear.type.v1.MultiSignature - 11, // 12: sf.gear.type.v1.Signature.era:type_name -> sf.gear.type.v1.ExtrinsicEra - 16, // 13: sf.gear.type.v1.ExtrinsicEra.as_mortal_era:type_name -> sf.gear.type.v1.MortalEra - 13, // 14: sf.gear.type.v1.Call.call_index:type_name -> sf.gear.type.v1.CallIndex - 15, // 15: sf.gear.type.v1.Event.phase:type_name -> sf.gear.type.v1.Phase - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 18, // 1: sf.gear.type.v1.Block.timestamp:type_name -> google.protobuf.Timestamp + 7, // 2: sf.gear.type.v1.Block.extrinsics:type_name -> sf.gear.type.v1.Extrinsic + 14, // 3: sf.gear.type.v1.Block.events:type_name -> sf.gear.type.v1.Event + 2, // 4: sf.gear.type.v1.Block.digest_items:type_name -> sf.gear.type.v1.DigestItem + 3, // 5: sf.gear.type.v1.DigestItem.as_pre_runtime:type_name -> sf.gear.type.v1.PreRuntime + 4, // 6: sf.gear.type.v1.DigestItem.as_consensus:type_name -> sf.gear.type.v1.Consensus + 5, // 7: sf.gear.type.v1.DigestItem.as_seal:type_name -> sf.gear.type.v1.Seal + 6, // 8: sf.gear.type.v1.DigestItem.as_changes_trie_signal:type_name -> sf.gear.type.v1.ChangesTrieSignal + 8, // 9: sf.gear.type.v1.Extrinsic.signature:type_name -> sf.gear.type.v1.Signature + 12, // 10: sf.gear.type.v1.Extrinsic.method:type_name -> sf.gear.type.v1.Call + 9, // 11: sf.gear.type.v1.Signature.signer:type_name -> sf.gear.type.v1.MultiAddress + 10, // 12: sf.gear.type.v1.Signature.signature:type_name -> sf.gear.type.v1.MultiSignature + 11, // 13: sf.gear.type.v1.Signature.era:type_name -> sf.gear.type.v1.ExtrinsicEra + 16, // 14: sf.gear.type.v1.ExtrinsicEra.as_mortal_era:type_name -> sf.gear.type.v1.MortalEra + 13, // 15: sf.gear.type.v1.Call.call_index:type_name -> sf.gear.type.v1.CallIndex + 15, // 16: sf.gear.type.v1.Event.phase:type_name -> sf.gear.type.v1.Phase + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_sf_gear_type_v1_block_proto_init() } diff --git a/pb/sf/gear/type/v1/block_vtproto.pb.go b/pb/sf/gear/type/v1/block_vtproto.pb.go index 51a1d63..c19441c 100644 --- a/pb/sf/gear/type/v1/block_vtproto.pb.go +++ b/pb/sf/gear/type/v1/block_vtproto.pb.go @@ -7,8 +7,10 @@ package pbgear import ( fmt "fmt" protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + timestamppb1 "github.com/planetscale/vtprotobuf/types/known/timestamppb" proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" io "io" unsafe "unsafe" ) @@ -27,6 +29,7 @@ func (m *Block) CloneVT() *Block { r := new(Block) r.Number = m.Number r.Header = m.Header.CloneVT() + r.Timestamp = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.Timestamp).CloneVT()) if rhs := m.Hash; rhs != nil { tmpBytes := make([]byte, len(rhs)) copy(tmpBytes, rhs) @@ -557,6 +560,9 @@ func (this *Block) EqualVT(that *Block) bool { if !this.Header.EqualVT(that.Header) { return false } + if !(*timestamppb1.Timestamp)(this.Timestamp).EqualVT((*timestamppb1.Timestamp)(that.Timestamp)) { + return false + } if len(this.Extrinsics) != len(that.Extrinsics) { return false } @@ -1246,14 +1252,14 @@ func (m *Block) MarshalToSizedBufferVT(dAtA []byte) (int, error) { copy(dAtA[i:], m.RawEvents) i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RawEvents))) i-- - dAtA[i] = 0x42 + dAtA[i] = 0x52 } if len(m.Justification) > 0 { i -= len(m.Justification) copy(dAtA[i:], m.Justification) i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Justification))) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x4a } if len(m.DigestItems) > 0 { for iNdEx := len(m.DigestItems) - 1; iNdEx >= 0; iNdEx-- { @@ -1264,7 +1270,7 @@ func (m *Block) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x42 } } if len(m.Events) > 0 { @@ -1276,7 +1282,7 @@ func (m *Block) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x3a } } if len(m.Extrinsics) > 0 { @@ -1288,9 +1294,19 @@ func (m *Block) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x32 } } + if m.Timestamp != nil { + size, err := (*timestamppb1.Timestamp)(m.Timestamp).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } if m.Header != nil { size, err := m.Header.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -2456,14 +2472,14 @@ func (m *Block) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { copy(dAtA[i:], m.RawEvents) i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RawEvents))) i-- - dAtA[i] = 0x42 + dAtA[i] = 0x52 } if len(m.Justification) > 0 { i -= len(m.Justification) copy(dAtA[i:], m.Justification) i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Justification))) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x4a } if len(m.DigestItems) > 0 { for iNdEx := len(m.DigestItems) - 1; iNdEx >= 0; iNdEx-- { @@ -2474,7 +2490,7 @@ func (m *Block) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x42 } } if len(m.Events) > 0 { @@ -2486,7 +2502,7 @@ func (m *Block) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x3a } } if len(m.Extrinsics) > 0 { @@ -2498,8 +2514,18 @@ func (m *Block) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x32 + } + } + if m.Timestamp != nil { + size, err := (*timestamppb1.Timestamp)(m.Timestamp).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } if m.Header != nil { size, err := m.Header.MarshalToSizedBufferVTStrict(dAtA[:i]) @@ -3681,6 +3707,10 @@ func (m *Block) SizeVT() (n int) { l = m.Header.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.Timestamp != nil { + l = (*timestamppb1.Timestamp)(m.Timestamp).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } if len(m.Extrinsics) > 0 { for _, e := range m.Extrinsics { l = e.SizeVT() @@ -4267,7 +4297,43 @@ func (m *Block) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex - case 4: + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Timestamp == nil { + m.Timestamp = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Extrinsics", wireType) } @@ -4301,7 +4367,7 @@ func (m *Block) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex - case 5: + case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) } @@ -4335,7 +4401,7 @@ func (m *Block) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex - case 6: + case 8: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field DigestItems", wireType) } @@ -4369,7 +4435,7 @@ func (m *Block) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex - case 7: + case 9: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Justification", wireType) } @@ -4403,7 +4469,7 @@ func (m *Block) UnmarshalVT(dAtA []byte) error { m.Justification = []byte{} } iNdEx = postIndex - case 8: + case 10: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field RawEvents", wireType) } @@ -7186,7 +7252,43 @@ func (m *Block) UnmarshalVTUnsafe(dAtA []byte) error { return err } iNdEx = postIndex - case 4: + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Timestamp == nil { + m.Timestamp = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.Timestamp).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Extrinsics", wireType) } @@ -7220,7 +7322,7 @@ func (m *Block) UnmarshalVTUnsafe(dAtA []byte) error { return err } iNdEx = postIndex - case 5: + case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) } @@ -7254,7 +7356,7 @@ func (m *Block) UnmarshalVTUnsafe(dAtA []byte) error { return err } iNdEx = postIndex - case 6: + case 8: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field DigestItems", wireType) } @@ -7288,7 +7390,7 @@ func (m *Block) UnmarshalVTUnsafe(dAtA []byte) error { return err } iNdEx = postIndex - case 7: + case 9: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Justification", wireType) } @@ -7319,7 +7421,7 @@ func (m *Block) UnmarshalVTUnsafe(dAtA []byte) error { } m.Justification = dAtA[iNdEx:postIndex] iNdEx = postIndex - case 8: + case 10: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field RawEvents", wireType) } diff --git a/proto/sf/gear/type/v1/block.proto b/proto/sf/gear/type/v1/block.proto index a892639..5edf21d 100644 --- a/proto/sf/gear/type/v1/block.proto +++ b/proto/sf/gear/type/v1/block.proto @@ -2,16 +2,18 @@ syntax = "proto3"; package sf.gear.type.v1; option go_package = "github.com/streamingfast/firehose-gear/pb/sf/gear/type/v1;pbgear"; +import "google/protobuf/timestamp.proto"; message Block { uint64 number = 1; bytes hash = 2; Header header = 3; - repeated Extrinsic extrinsics = 4; - repeated Event events = 5; - repeated DigestItem digest_items = 6; - bytes justification = 7; - bytes raw_events = 8; + google.protobuf.Timestamp timestamp = 5; + repeated Extrinsic extrinsics = 6; + repeated Event events = 7; + repeated DigestItem digest_items = 8; + bytes justification = 9; + bytes raw_events = 10; } message Header { diff --git a/rpc/fetcher.go b/rpc/fetcher.go index ce33817..bcad2ec 100644 --- a/rpc/fetcher.go +++ b/rpc/fetcher.go @@ -286,16 +286,19 @@ func convertBlock(data *FetchedBlockData, specVersion uint32) (*pbbstream.Block, RawEvents: data.rawEvents, } - timestamp := big.NewInt(0) + var timestamp *timestamppb.Timestamp if b.Block.Header.Number > 0 { timestampBytes := b.Block.Extrinsics[0].Method.Args timestampDecoder := scale.NewDecoder(bytes.NewBuffer(timestampBytes)) - timestamp, err = timestampDecoder.DecodeUintCompact() + t, err := timestampDecoder.DecodeUintCompact() if err != nil { return nil, fmt.Errorf("unable to decode timestamp: %w", err) } + timestamppb.New(time.UnixMilli(t.Int64())) } + block.Timestamp = timestamp + anyBlock, err := anypb.New(block) if err != nil { return nil, fmt.Errorf("unable to create anypb: %w", err) @@ -320,7 +323,7 @@ func convertBlock(data *FetchedBlockData, specVersion uint32) (*pbbstream.Block, Number: block.Number, Id: hex.EncodeToString(block.Hash), ParentId: hex.EncodeToString(block.Header.ParentHash), - Timestamp: timestamppb.New(time.UnixMilli(timestamp.Int64())), + Timestamp: timestamp, LibNum: libNum, ParentNum: parentBlockNum, Payload: anyBlock,