From 75fde6df3698432fd7737fa02621c7132e7f2c9f Mon Sep 17 00:00:00 2001 From: Rens Rooimans Date: Wed, 20 Nov 2024 14:20:08 +0100 Subject: [PATCH] rm old methods --- pkg/loop/internal/pb/ccip/factories.pb.go | 701 +++++------------- pkg/loop/internal/pb/ccip/factories.proto | 28 - .../internal/pb/ccip/factories_grpc.pb.go | 88 +-- .../ext/ccip/execution_provider.go | 80 +- .../ext/ccip/test/exec_provider.go | 43 +- .../ext/ccip/test/exec_provider_test.go | 14 - .../ext/ccip/test/token_data.go | 101 --- .../ext/ccip/test/token_data_test.go | 67 -- .../ext/ccip/test/token_pool.go | 79 -- .../ext/ccip/test/token_pool_test.go | 67 -- pkg/types/provider_ccip.go | 2 - 11 files changed, 213 insertions(+), 1057 deletions(-) delete mode 100644 pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data.go delete mode 100644 pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data_test.go delete mode 100644 pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool.go delete mode 100644 pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool_test.go diff --git a/pkg/loop/internal/pb/ccip/factories.pb.go b/pkg/loop/internal/pb/ccip/factories.pb.go index a4897d4b3..4847a80a5 100644 --- a/pkg/loop/internal/pb/ccip/factories.pb.go +++ b/pkg/loop/internal/pb/ccip/factories.pb.go @@ -856,210 +856,6 @@ func (x *NewPriceRegistryReaderResponse) GetPriceRegistryReaderServiceId() int32 return 0 } -// NewTokenDataRequest is a gRPC adapter for the input arguments of -// [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPExecProvider.NewTokenDataReader] -type NewTokenDataRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (x *NewTokenDataRequest) Reset() { - *x = NewTokenDataRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewTokenDataRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewTokenDataRequest) ProtoMessage() {} - -func (x *NewTokenDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewTokenDataRequest.ProtoReflect.Descriptor instead. -func (*NewTokenDataRequest) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{16} -} - -func (x *NewTokenDataRequest) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -// NewTokenDataResponse is a gRPC adapter for the output arguments of -// [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPExecProvider.NewTokenDataReader] -// It contains the id of the created token data reader service that was created -type NewTokenDataResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TokenDataReaderServiceId int32 `protobuf:"varint,1,opt,name=token_data_reader_service_id,json=tokenDataReaderServiceId,proto3" json:"token_data_reader_service_id,omitempty"` -} - -func (x *NewTokenDataResponse) Reset() { - *x = NewTokenDataResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewTokenDataResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewTokenDataResponse) ProtoMessage() {} - -func (x *NewTokenDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewTokenDataResponse.ProtoReflect.Descriptor instead. -func (*NewTokenDataResponse) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{17} -} - -func (x *NewTokenDataResponse) GetTokenDataReaderServiceId() int32 { - if x != nil { - return x.TokenDataReaderServiceId - } - return 0 -} - -type NewTokenPoolBatchedReaderRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - SourceChainSelector uint64 `protobuf:"varint,2,opt,name=sourceChainSelector,proto3" json:"sourceChainSelector,omitempty"` -} - -func (x *NewTokenPoolBatchedReaderRequest) Reset() { - *x = NewTokenPoolBatchedReaderRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewTokenPoolBatchedReaderRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewTokenPoolBatchedReaderRequest) ProtoMessage() {} - -func (x *NewTokenPoolBatchedReaderRequest) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewTokenPoolBatchedReaderRequest.ProtoReflect.Descriptor instead. -func (*NewTokenPoolBatchedReaderRequest) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{18} -} - -func (x *NewTokenPoolBatchedReaderRequest) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *NewTokenPoolBatchedReaderRequest) GetSourceChainSelector() uint64 { - if x != nil { - return x.SourceChainSelector - } - return 0 -} - -// NewTokenPoolBatchedReaderResponse is a gRPC adapter for the output arguments of -// [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPExecProvider.NewTokenPoolBatchedReader] -// It contains the id of the created token pool batched reader service that was created -type NewTokenPoolBatchedReaderResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TokenPoolBatchedReaderServiceId int32 `protobuf:"varint,1,opt,name=token_pool_batched_reader_service_id,json=tokenPoolBatchedReaderServiceId,proto3" json:"token_pool_batched_reader_service_id,omitempty"` -} - -func (x *NewTokenPoolBatchedReaderResponse) Reset() { - *x = NewTokenPoolBatchedReaderResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewTokenPoolBatchedReaderResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewTokenPoolBatchedReaderResponse) ProtoMessage() {} - -func (x *NewTokenPoolBatchedReaderResponse) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewTokenPoolBatchedReaderResponse.ProtoReflect.Descriptor instead. -func (*NewTokenPoolBatchedReaderResponse) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{19} -} - -func (x *NewTokenPoolBatchedReaderResponse) GetTokenPoolBatchedReaderServiceId() int32 { - if x != nil { - return x.TokenPoolBatchedReaderServiceId - } - return 0 -} - // SourceNativeTokenResponse is a gRPC adapter for the input arguments of // [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPCommitProvider.SourceNativeToken] type SourceNativeTokenRequest struct { @@ -1073,7 +869,7 @@ type SourceNativeTokenRequest struct { func (x *SourceNativeTokenRequest) Reset() { *x = SourceNativeTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[20] + mi := &file_factories_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1086,7 +882,7 @@ func (x *SourceNativeTokenRequest) String() string { func (*SourceNativeTokenRequest) ProtoMessage() {} func (x *SourceNativeTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[20] + mi := &file_factories_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1099,7 +895,7 @@ func (x *SourceNativeTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceNativeTokenRequest.ProtoReflect.Descriptor instead. func (*SourceNativeTokenRequest) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{20} + return file_factories_proto_rawDescGZIP(), []int{16} } func (x *SourceNativeTokenRequest) GetSourceRouterAddress() string { @@ -1122,7 +918,7 @@ type SourceNativeTokenResponse struct { func (x *SourceNativeTokenResponse) Reset() { *x = SourceNativeTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[21] + mi := &file_factories_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1135,7 +931,7 @@ func (x *SourceNativeTokenResponse) String() string { func (*SourceNativeTokenResponse) ProtoMessage() {} func (x *SourceNativeTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[21] + mi := &file_factories_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1148,7 +944,7 @@ func (x *SourceNativeTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceNativeTokenResponse.ProtoReflect.Descriptor instead. func (*SourceNativeTokenResponse) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{21} + return file_factories_proto_rawDescGZIP(), []int{17} } func (x *SourceNativeTokenResponse) GetNativeTokenAddress() string { @@ -1171,7 +967,7 @@ type NewOffRampReadersRequest struct { func (x *NewOffRampReadersRequest) Reset() { *x = NewOffRampReadersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[22] + mi := &file_factories_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1184,7 +980,7 @@ func (x *NewOffRampReadersRequest) String() string { func (*NewOffRampReadersRequest) ProtoMessage() {} func (x *NewOffRampReadersRequest) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[22] + mi := &file_factories_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1197,7 +993,7 @@ func (x *NewOffRampReadersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NewOffRampReadersRequest.ProtoReflect.Descriptor instead. func (*NewOffRampReadersRequest) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{22} + return file_factories_proto_rawDescGZIP(), []int{18} } func (x *NewOffRampReadersRequest) GetDestRouterAddress() string { @@ -1220,7 +1016,7 @@ type NewOffRampReadersResponse struct { func (x *NewOffRampReadersResponse) Reset() { *x = NewOffRampReadersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_factories_proto_msgTypes[23] + mi := &file_factories_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1233,7 +1029,7 @@ func (x *NewOffRampReadersResponse) String() string { func (*NewOffRampReadersResponse) ProtoMessage() {} func (x *NewOffRampReadersResponse) ProtoReflect() protoreflect.Message { - mi := &file_factories_proto_msgTypes[23] + mi := &file_factories_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1246,7 +1042,7 @@ func (x *NewOffRampReadersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NewOffRampReadersResponse.ProtoReflect.Descriptor instead. func (*NewOffRampReadersResponse) Descriptor() ([]byte, []int) { - return file_factories_proto_rawDescGZIP(), []int{23} + return file_factories_proto_rawDescGZIP(), []int{19} } func (x *NewOffRampReadersResponse) GetOfframpReadersServiceIds() []int32 { @@ -1355,194 +1151,155 @@ var file_factories_proto_rawDesc = []byte{ 0x73, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x13, 0x4e, 0x65, - 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x56, 0x0a, 0x14, 0x4e, - 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x20, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, - 0x6f, 0x6f, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x22, 0x72, 0x0a, 0x21, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, - 0x6f, 0x6f, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x24, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x6f, 0x6f, - 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x6f, + 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x18, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4d, 0x0a, 0x19, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4a, 0x0a, 0x18, 0x4e, 0x65, 0x77, + 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4d, 0x0a, 0x19, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x12, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4a, 0x0a, 0x18, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, - 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x64, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x5a, 0x0a, 0x19, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, - 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3d, 0x0a, 0x1b, 0x6f, 0x66, 0x66, 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x18, 0x6f, 0x66, 0x66, 0x72, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x73, 0x32, 0x99, - 0x01, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x7c, 0x0a, 0x13, - 0x4e, 0x65, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, + 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5a, 0x0a, 0x19, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, + 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x6f, 0x66, 0x66, 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x18, 0x6f, 0x66, 0x66, 0x72, 0x61, 0x6d, 0x70, + 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, + 0x73, 0x32, 0x99, 0x01, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x7c, 0x0a, 0x13, 0x4e, 0x65, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcf, 0x08, 0x0a, 0x17, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, - 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x4e, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, + 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcb, 0x06, + 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, + 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, - 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x66, - 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x66, - 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, - 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, - 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, - 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x4e, 0x65, - 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x6f, 0x6f, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, - 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, - 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, + 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x75, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, + 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, - 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x37, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x6f, + 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x4f, + 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, - 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2f, 0x2e, 0x6c, + 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, + 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, + 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, + 0x16, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, + 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, + 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2f, 0x2e, 0x6c, 0x6f, + 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, + 0x63, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x39, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x32, 0x8d, 0x01, 0x0a, 0x16, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x73, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, + 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, + 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x6f, 0x6f, + 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, + 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9f, 0x06, 0x0a, 0x14, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, - 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x39, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x32, 0x8d, 0x01, 0x0a, - 0x16, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x73, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, - 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, - 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x61, 0x63, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9f, 0x06, 0x0a, - 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, - 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, - 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x4e, 0x65, 0x77, - 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x2e, + 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x4f, + 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6c, + 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, + 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, + 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, + 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, 0x52, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x72, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x6e, + 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, + 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x47, + 0x65, 0x74, 0x74, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, - 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, - 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x47, 0x65, + 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, + 0x01, 0x0a, 0x16, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, + 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, + 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, - 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x52, 0x61, 0x6d, 0x70, - 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x72, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, - 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4f, 0x6e, - 0x52, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2d, - 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, - 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x47, - 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x87, 0x01, 0x0a, 0x16, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, - 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2f, + 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, - 0x70, 0x62, 0x2e, 0x63, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x4f, - 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, - 0x72, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x63, 0x69, 0x70, 0x3b, 0x63, 0x63, 0x69, 0x70, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x39, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x4f, 0x5a, + 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, 0x72, + 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x70, 0x62, 0x2f, 0x63, 0x63, 0x69, 0x70, 0x3b, 0x63, 0x63, 0x69, 0x70, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1557,33 +1314,29 @@ func file_factories_proto_rawDescGZIP() []byte { return file_factories_proto_rawDescData } -var file_factories_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_factories_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_factories_proto_goTypes = []interface{}{ - (*NewExecutionFactoryRequest)(nil), // 0: loop.internal.pb.ccip.NewExecutionFactoryRequest - (*NewExecutionFactoryResponse)(nil), // 1: loop.internal.pb.ccip.NewExecutionFactoryResponse - (*NewCommitFactoryRequest)(nil), // 2: loop.internal.pb.ccip.NewCommitFactoryRequest - (*NewCommitFactoryResponse)(nil), // 3: loop.internal.pb.ccip.NewCommitFactoryResponse - (*GetTransactionStatusRequest)(nil), // 4: loop.internal.pb.ccip.GetTransactionStatusRequest - (*GetTransactionStatusResponse)(nil), // 5: loop.internal.pb.ccip.GetTransactionStatusResponse - (*NewCommitStoreReaderRequest)(nil), // 6: loop.internal.pb.ccip.NewCommitStoreReaderRequest - (*NewCommitStoreReaderResponse)(nil), // 7: loop.internal.pb.ccip.NewCommitStoreReaderResponse - (*NewOffRampReaderRequest)(nil), // 8: loop.internal.pb.ccip.NewOffRampReaderRequest - (*NewOffRampReaderResponse)(nil), // 9: loop.internal.pb.ccip.NewOffRampReaderResponse - (*NewOnRampReaderRequest)(nil), // 10: loop.internal.pb.ccip.NewOnRampReaderRequest - (*NewOnRampReaderResponse)(nil), // 11: loop.internal.pb.ccip.NewOnRampReaderResponse - (*NewPriceGetterRequest)(nil), // 12: loop.internal.pb.ccip.NewPriceGetterRequest - (*NewPriceGetterResponse)(nil), // 13: loop.internal.pb.ccip.NewPriceGetterResponse - (*NewPriceRegistryReaderRequest)(nil), // 14: loop.internal.pb.ccip.NewPriceRegistryReaderRequest - (*NewPriceRegistryReaderResponse)(nil), // 15: loop.internal.pb.ccip.NewPriceRegistryReaderResponse - (*NewTokenDataRequest)(nil), // 16: loop.internal.pb.ccip.NewTokenDataRequest - (*NewTokenDataResponse)(nil), // 17: loop.internal.pb.ccip.NewTokenDataResponse - (*NewTokenPoolBatchedReaderRequest)(nil), // 18: loop.internal.pb.ccip.NewTokenPoolBatchedReaderRequest - (*NewTokenPoolBatchedReaderResponse)(nil), // 19: loop.internal.pb.ccip.NewTokenPoolBatchedReaderResponse - (*SourceNativeTokenRequest)(nil), // 20: loop.internal.pb.ccip.SourceNativeTokenRequest - (*SourceNativeTokenResponse)(nil), // 21: loop.internal.pb.ccip.SourceNativeTokenResponse - (*NewOffRampReadersRequest)(nil), // 22: loop.internal.pb.ccip.NewOffRampReadersRequest - (*NewOffRampReadersResponse)(nil), // 23: loop.internal.pb.ccip.NewOffRampReadersResponse - (*emptypb.Empty)(nil), // 24: google.protobuf.Empty + (*NewExecutionFactoryRequest)(nil), // 0: loop.internal.pb.ccip.NewExecutionFactoryRequest + (*NewExecutionFactoryResponse)(nil), // 1: loop.internal.pb.ccip.NewExecutionFactoryResponse + (*NewCommitFactoryRequest)(nil), // 2: loop.internal.pb.ccip.NewCommitFactoryRequest + (*NewCommitFactoryResponse)(nil), // 3: loop.internal.pb.ccip.NewCommitFactoryResponse + (*GetTransactionStatusRequest)(nil), // 4: loop.internal.pb.ccip.GetTransactionStatusRequest + (*GetTransactionStatusResponse)(nil), // 5: loop.internal.pb.ccip.GetTransactionStatusResponse + (*NewCommitStoreReaderRequest)(nil), // 6: loop.internal.pb.ccip.NewCommitStoreReaderRequest + (*NewCommitStoreReaderResponse)(nil), // 7: loop.internal.pb.ccip.NewCommitStoreReaderResponse + (*NewOffRampReaderRequest)(nil), // 8: loop.internal.pb.ccip.NewOffRampReaderRequest + (*NewOffRampReaderResponse)(nil), // 9: loop.internal.pb.ccip.NewOffRampReaderResponse + (*NewOnRampReaderRequest)(nil), // 10: loop.internal.pb.ccip.NewOnRampReaderRequest + (*NewOnRampReaderResponse)(nil), // 11: loop.internal.pb.ccip.NewOnRampReaderResponse + (*NewPriceGetterRequest)(nil), // 12: loop.internal.pb.ccip.NewPriceGetterRequest + (*NewPriceGetterResponse)(nil), // 13: loop.internal.pb.ccip.NewPriceGetterResponse + (*NewPriceRegistryReaderRequest)(nil), // 14: loop.internal.pb.ccip.NewPriceRegistryReaderRequest + (*NewPriceRegistryReaderResponse)(nil), // 15: loop.internal.pb.ccip.NewPriceRegistryReaderResponse + (*SourceNativeTokenRequest)(nil), // 16: loop.internal.pb.ccip.SourceNativeTokenRequest + (*SourceNativeTokenResponse)(nil), // 17: loop.internal.pb.ccip.SourceNativeTokenResponse + (*NewOffRampReadersRequest)(nil), // 18: loop.internal.pb.ccip.NewOffRampReadersRequest + (*NewOffRampReadersResponse)(nil), // 19: loop.internal.pb.ccip.NewOffRampReadersResponse + (*emptypb.Empty)(nil), // 20: google.protobuf.Empty } var file_factories_proto_depIdxs = []int32{ 0, // 0: loop.internal.pb.ccip.ExecutionFactoryGenerator.NewExecutionFactory:input_type -> loop.internal.pb.ccip.NewExecutionFactoryRequest @@ -1592,38 +1345,34 @@ var file_factories_proto_depIdxs = []int32{ 8, // 3: loop.internal.pb.ccip.ExecutionCustomHandlers.NewOffRampReader:input_type -> loop.internal.pb.ccip.NewOffRampReaderRequest 10, // 4: loop.internal.pb.ccip.ExecutionCustomHandlers.NewOnRampReader:input_type -> loop.internal.pb.ccip.NewOnRampReaderRequest 14, // 5: loop.internal.pb.ccip.ExecutionCustomHandlers.NewPriceRegistryReader:input_type -> loop.internal.pb.ccip.NewPriceRegistryReaderRequest - 16, // 6: loop.internal.pb.ccip.ExecutionCustomHandlers.NewTokenDataReader:input_type -> loop.internal.pb.ccip.NewTokenDataRequest - 18, // 7: loop.internal.pb.ccip.ExecutionCustomHandlers.NewTokenPoolBatchedReader:input_type -> loop.internal.pb.ccip.NewTokenPoolBatchedReaderRequest - 20, // 8: loop.internal.pb.ccip.ExecutionCustomHandlers.SourceNativeToken:input_type -> loop.internal.pb.ccip.SourceNativeTokenRequest - 24, // 9: loop.internal.pb.ccip.ExecutionCustomHandlers.Close:input_type -> google.protobuf.Empty - 2, // 10: loop.internal.pb.ccip.CommitFactoryGenerator.NewCommitFactory:input_type -> loop.internal.pb.ccip.NewCommitFactoryRequest - 6, // 11: loop.internal.pb.ccip.CommitCustomHandlers.NewCommitStoreReader:input_type -> loop.internal.pb.ccip.NewCommitStoreReaderRequest - 8, // 12: loop.internal.pb.ccip.CommitCustomHandlers.NewOffRampReader:input_type -> loop.internal.pb.ccip.NewOffRampReaderRequest - 10, // 13: loop.internal.pb.ccip.CommitCustomHandlers.NewOnRampReader:input_type -> loop.internal.pb.ccip.NewOnRampReaderRequest - 24, // 14: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceGetter:input_type -> google.protobuf.Empty - 14, // 15: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceRegistryReader:input_type -> loop.internal.pb.ccip.NewPriceRegistryReaderRequest - 20, // 16: loop.internal.pb.ccip.CommitCustomHandlers.SourceNativeToken:input_type -> loop.internal.pb.ccip.SourceNativeTokenRequest - 24, // 17: loop.internal.pb.ccip.CommitCustomHandlers.Close:input_type -> google.protobuf.Empty - 1, // 18: loop.internal.pb.ccip.ExecutionFactoryGenerator.NewExecutionFactory:output_type -> loop.internal.pb.ccip.NewExecutionFactoryResponse - 5, // 19: loop.internal.pb.ccip.ExecutionCustomHandlers.GetTransactionStatus:output_type -> loop.internal.pb.ccip.GetTransactionStatusResponse - 7, // 20: loop.internal.pb.ccip.ExecutionCustomHandlers.NewCommitStoreReader:output_type -> loop.internal.pb.ccip.NewCommitStoreReaderResponse - 9, // 21: loop.internal.pb.ccip.ExecutionCustomHandlers.NewOffRampReader:output_type -> loop.internal.pb.ccip.NewOffRampReaderResponse - 11, // 22: loop.internal.pb.ccip.ExecutionCustomHandlers.NewOnRampReader:output_type -> loop.internal.pb.ccip.NewOnRampReaderResponse - 15, // 23: loop.internal.pb.ccip.ExecutionCustomHandlers.NewPriceRegistryReader:output_type -> loop.internal.pb.ccip.NewPriceRegistryReaderResponse - 17, // 24: loop.internal.pb.ccip.ExecutionCustomHandlers.NewTokenDataReader:output_type -> loop.internal.pb.ccip.NewTokenDataResponse - 19, // 25: loop.internal.pb.ccip.ExecutionCustomHandlers.NewTokenPoolBatchedReader:output_type -> loop.internal.pb.ccip.NewTokenPoolBatchedReaderResponse - 21, // 26: loop.internal.pb.ccip.ExecutionCustomHandlers.SourceNativeToken:output_type -> loop.internal.pb.ccip.SourceNativeTokenResponse - 24, // 27: loop.internal.pb.ccip.ExecutionCustomHandlers.Close:output_type -> google.protobuf.Empty - 3, // 28: loop.internal.pb.ccip.CommitFactoryGenerator.NewCommitFactory:output_type -> loop.internal.pb.ccip.NewCommitFactoryResponse - 7, // 29: loop.internal.pb.ccip.CommitCustomHandlers.NewCommitStoreReader:output_type -> loop.internal.pb.ccip.NewCommitStoreReaderResponse - 9, // 30: loop.internal.pb.ccip.CommitCustomHandlers.NewOffRampReader:output_type -> loop.internal.pb.ccip.NewOffRampReaderResponse - 11, // 31: loop.internal.pb.ccip.CommitCustomHandlers.NewOnRampReader:output_type -> loop.internal.pb.ccip.NewOnRampReaderResponse - 13, // 32: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceGetter:output_type -> loop.internal.pb.ccip.NewPriceGetterResponse - 15, // 33: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceRegistryReader:output_type -> loop.internal.pb.ccip.NewPriceRegistryReaderResponse - 21, // 34: loop.internal.pb.ccip.CommitCustomHandlers.SourceNativeToken:output_type -> loop.internal.pb.ccip.SourceNativeTokenResponse - 24, // 35: loop.internal.pb.ccip.CommitCustomHandlers.Close:output_type -> google.protobuf.Empty - 18, // [18:36] is the sub-list for method output_type - 0, // [0:18] is the sub-list for method input_type + 16, // 6: loop.internal.pb.ccip.ExecutionCustomHandlers.SourceNativeToken:input_type -> loop.internal.pb.ccip.SourceNativeTokenRequest + 20, // 7: loop.internal.pb.ccip.ExecutionCustomHandlers.Close:input_type -> google.protobuf.Empty + 2, // 8: loop.internal.pb.ccip.CommitFactoryGenerator.NewCommitFactory:input_type -> loop.internal.pb.ccip.NewCommitFactoryRequest + 6, // 9: loop.internal.pb.ccip.CommitCustomHandlers.NewCommitStoreReader:input_type -> loop.internal.pb.ccip.NewCommitStoreReaderRequest + 8, // 10: loop.internal.pb.ccip.CommitCustomHandlers.NewOffRampReader:input_type -> loop.internal.pb.ccip.NewOffRampReaderRequest + 10, // 11: loop.internal.pb.ccip.CommitCustomHandlers.NewOnRampReader:input_type -> loop.internal.pb.ccip.NewOnRampReaderRequest + 20, // 12: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceGetter:input_type -> google.protobuf.Empty + 14, // 13: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceRegistryReader:input_type -> loop.internal.pb.ccip.NewPriceRegistryReaderRequest + 16, // 14: loop.internal.pb.ccip.CommitCustomHandlers.SourceNativeToken:input_type -> loop.internal.pb.ccip.SourceNativeTokenRequest + 20, // 15: loop.internal.pb.ccip.CommitCustomHandlers.Close:input_type -> google.protobuf.Empty + 1, // 16: loop.internal.pb.ccip.ExecutionFactoryGenerator.NewExecutionFactory:output_type -> loop.internal.pb.ccip.NewExecutionFactoryResponse + 5, // 17: loop.internal.pb.ccip.ExecutionCustomHandlers.GetTransactionStatus:output_type -> loop.internal.pb.ccip.GetTransactionStatusResponse + 7, // 18: loop.internal.pb.ccip.ExecutionCustomHandlers.NewCommitStoreReader:output_type -> loop.internal.pb.ccip.NewCommitStoreReaderResponse + 9, // 19: loop.internal.pb.ccip.ExecutionCustomHandlers.NewOffRampReader:output_type -> loop.internal.pb.ccip.NewOffRampReaderResponse + 11, // 20: loop.internal.pb.ccip.ExecutionCustomHandlers.NewOnRampReader:output_type -> loop.internal.pb.ccip.NewOnRampReaderResponse + 15, // 21: loop.internal.pb.ccip.ExecutionCustomHandlers.NewPriceRegistryReader:output_type -> loop.internal.pb.ccip.NewPriceRegistryReaderResponse + 17, // 22: loop.internal.pb.ccip.ExecutionCustomHandlers.SourceNativeToken:output_type -> loop.internal.pb.ccip.SourceNativeTokenResponse + 20, // 23: loop.internal.pb.ccip.ExecutionCustomHandlers.Close:output_type -> google.protobuf.Empty + 3, // 24: loop.internal.pb.ccip.CommitFactoryGenerator.NewCommitFactory:output_type -> loop.internal.pb.ccip.NewCommitFactoryResponse + 7, // 25: loop.internal.pb.ccip.CommitCustomHandlers.NewCommitStoreReader:output_type -> loop.internal.pb.ccip.NewCommitStoreReaderResponse + 9, // 26: loop.internal.pb.ccip.CommitCustomHandlers.NewOffRampReader:output_type -> loop.internal.pb.ccip.NewOffRampReaderResponse + 11, // 27: loop.internal.pb.ccip.CommitCustomHandlers.NewOnRampReader:output_type -> loop.internal.pb.ccip.NewOnRampReaderResponse + 13, // 28: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceGetter:output_type -> loop.internal.pb.ccip.NewPriceGetterResponse + 15, // 29: loop.internal.pb.ccip.CommitCustomHandlers.NewPriceRegistryReader:output_type -> loop.internal.pb.ccip.NewPriceRegistryReaderResponse + 17, // 30: loop.internal.pb.ccip.CommitCustomHandlers.SourceNativeToken:output_type -> loop.internal.pb.ccip.SourceNativeTokenResponse + 20, // 31: loop.internal.pb.ccip.CommitCustomHandlers.Close:output_type -> google.protobuf.Empty + 16, // [16:32] is the sub-list for method output_type + 0, // [0:16] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -1828,54 +1577,6 @@ func file_factories_proto_init() { } } file_factories_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewTokenDataRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_factories_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewTokenDataResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_factories_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewTokenPoolBatchedReaderRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_factories_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewTokenPoolBatchedReaderResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_factories_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceNativeTokenRequest); i { case 0: return &v.state @@ -1887,7 +1588,7 @@ func file_factories_proto_init() { return nil } } - file_factories_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_factories_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceNativeTokenResponse); i { case 0: return &v.state @@ -1899,7 +1600,7 @@ func file_factories_proto_init() { return nil } } - file_factories_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_factories_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewOffRampReadersRequest); i { case 0: return &v.state @@ -1911,7 +1612,7 @@ func file_factories_proto_init() { return nil } } - file_factories_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_factories_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewOffRampReadersResponse); i { case 0: return &v.state @@ -1930,7 +1631,7 @@ func file_factories_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_factories_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 20, NumExtensions: 0, NumServices: 4, }, diff --git a/pkg/loop/internal/pb/ccip/factories.proto b/pkg/loop/internal/pb/ccip/factories.proto index c882cae9b..828c102a1 100644 --- a/pkg/loop/internal/pb/ccip/factories.proto +++ b/pkg/loop/internal/pb/ccip/factories.proto @@ -19,8 +19,6 @@ service ExecutionCustomHandlers { rpc NewOffRampReader(NewOffRampReaderRequest) returns (NewOffRampReaderResponse) {} rpc NewOnRampReader(NewOnRampReaderRequest) returns (NewOnRampReaderResponse) {} rpc NewPriceRegistryReader(NewPriceRegistryReaderRequest) returns (NewPriceRegistryReaderResponse) {} - rpc NewTokenDataReader(NewTokenDataRequest) returns (NewTokenDataResponse) {} - rpc NewTokenPoolBatchedReader(NewTokenPoolBatchedReaderRequest) returns (NewTokenPoolBatchedReaderResponse) {} rpc SourceNativeToken(SourceNativeTokenRequest) returns (SourceNativeTokenResponse) {} rpc Close(google.protobuf.Empty) returns (google.protobuf.Empty) {} } @@ -147,32 +145,6 @@ message NewPriceRegistryReaderResponse { int32 price_registry_reader_service_id = 1; } - -// NewTokenDataRequest is a gRPC adapter for the input arguments of -// [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPExecProvider.NewTokenDataReader] -message NewTokenDataRequest { - string address = 1; -} - -// NewTokenDataResponse is a gRPC adapter for the output arguments of -// [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPExecProvider.NewTokenDataReader] -// It contains the id of the created token data reader service that was created -message NewTokenDataResponse { - int32 token_data_reader_service_id = 1; -} - -message NewTokenPoolBatchedReaderRequest { - string address = 1; - uint64 sourceChainSelector = 2; -} - -// NewTokenPoolBatchedReaderResponse is a gRPC adapter for the output arguments of -// [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPExecProvider.NewTokenPoolBatchedReader] -// It contains the id of the created token pool batched reader service that was created -message NewTokenPoolBatchedReaderResponse { - int32 token_pool_batched_reader_service_id = 1; -} - // SourceNativeTokenResponse is a gRPC adapter for the input arguments of // [github.com/smartcontractkit/chainlink-common/pkg/types/CCIPCommitProvider.SourceNativeToken] message SourceNativeTokenRequest { diff --git a/pkg/loop/internal/pb/ccip/factories_grpc.pb.go b/pkg/loop/internal/pb/ccip/factories_grpc.pb.go index 99fcb7a1a..732249472 100644 --- a/pkg/loop/internal/pb/ccip/factories_grpc.pb.go +++ b/pkg/loop/internal/pb/ccip/factories_grpc.pb.go @@ -111,15 +111,13 @@ var ExecutionFactoryGenerator_ServiceDesc = grpc.ServiceDesc{ } const ( - ExecutionCustomHandlers_GetTransactionStatus_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/GetTransactionStatus" - ExecutionCustomHandlers_NewCommitStoreReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewCommitStoreReader" - ExecutionCustomHandlers_NewOffRampReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewOffRampReader" - ExecutionCustomHandlers_NewOnRampReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewOnRampReader" - ExecutionCustomHandlers_NewPriceRegistryReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewPriceRegistryReader" - ExecutionCustomHandlers_NewTokenDataReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewTokenDataReader" - ExecutionCustomHandlers_NewTokenPoolBatchedReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewTokenPoolBatchedReader" - ExecutionCustomHandlers_SourceNativeToken_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/SourceNativeToken" - ExecutionCustomHandlers_Close_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/Close" + ExecutionCustomHandlers_GetTransactionStatus_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/GetTransactionStatus" + ExecutionCustomHandlers_NewCommitStoreReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewCommitStoreReader" + ExecutionCustomHandlers_NewOffRampReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewOffRampReader" + ExecutionCustomHandlers_NewOnRampReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewOnRampReader" + ExecutionCustomHandlers_NewPriceRegistryReader_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/NewPriceRegistryReader" + ExecutionCustomHandlers_SourceNativeToken_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/SourceNativeToken" + ExecutionCustomHandlers_Close_FullMethodName = "/loop.internal.pb.ccip.ExecutionCustomHandlers/Close" ) // ExecutionCustomHandlersClient is the client API for ExecutionCustomHandlers service. @@ -131,8 +129,6 @@ type ExecutionCustomHandlersClient interface { NewOffRampReader(ctx context.Context, in *NewOffRampReaderRequest, opts ...grpc.CallOption) (*NewOffRampReaderResponse, error) NewOnRampReader(ctx context.Context, in *NewOnRampReaderRequest, opts ...grpc.CallOption) (*NewOnRampReaderResponse, error) NewPriceRegistryReader(ctx context.Context, in *NewPriceRegistryReaderRequest, opts ...grpc.CallOption) (*NewPriceRegistryReaderResponse, error) - NewTokenDataReader(ctx context.Context, in *NewTokenDataRequest, opts ...grpc.CallOption) (*NewTokenDataResponse, error) - NewTokenPoolBatchedReader(ctx context.Context, in *NewTokenPoolBatchedReaderRequest, opts ...grpc.CallOption) (*NewTokenPoolBatchedReaderResponse, error) SourceNativeToken(ctx context.Context, in *SourceNativeTokenRequest, opts ...grpc.CallOption) (*SourceNativeTokenResponse, error) Close(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) } @@ -190,24 +186,6 @@ func (c *executionCustomHandlersClient) NewPriceRegistryReader(ctx context.Conte return out, nil } -func (c *executionCustomHandlersClient) NewTokenDataReader(ctx context.Context, in *NewTokenDataRequest, opts ...grpc.CallOption) (*NewTokenDataResponse, error) { - out := new(NewTokenDataResponse) - err := c.cc.Invoke(ctx, ExecutionCustomHandlers_NewTokenDataReader_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *executionCustomHandlersClient) NewTokenPoolBatchedReader(ctx context.Context, in *NewTokenPoolBatchedReaderRequest, opts ...grpc.CallOption) (*NewTokenPoolBatchedReaderResponse, error) { - out := new(NewTokenPoolBatchedReaderResponse) - err := c.cc.Invoke(ctx, ExecutionCustomHandlers_NewTokenPoolBatchedReader_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *executionCustomHandlersClient) SourceNativeToken(ctx context.Context, in *SourceNativeTokenRequest, opts ...grpc.CallOption) (*SourceNativeTokenResponse, error) { out := new(SourceNativeTokenResponse) err := c.cc.Invoke(ctx, ExecutionCustomHandlers_SourceNativeToken_FullMethodName, in, out, opts...) @@ -235,8 +213,6 @@ type ExecutionCustomHandlersServer interface { NewOffRampReader(context.Context, *NewOffRampReaderRequest) (*NewOffRampReaderResponse, error) NewOnRampReader(context.Context, *NewOnRampReaderRequest) (*NewOnRampReaderResponse, error) NewPriceRegistryReader(context.Context, *NewPriceRegistryReaderRequest) (*NewPriceRegistryReaderResponse, error) - NewTokenDataReader(context.Context, *NewTokenDataRequest) (*NewTokenDataResponse, error) - NewTokenPoolBatchedReader(context.Context, *NewTokenPoolBatchedReaderRequest) (*NewTokenPoolBatchedReaderResponse, error) SourceNativeToken(context.Context, *SourceNativeTokenRequest) (*SourceNativeTokenResponse, error) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error) mustEmbedUnimplementedExecutionCustomHandlersServer() @@ -261,12 +237,6 @@ func (UnimplementedExecutionCustomHandlersServer) NewOnRampReader(context.Contex func (UnimplementedExecutionCustomHandlersServer) NewPriceRegistryReader(context.Context, *NewPriceRegistryReaderRequest) (*NewPriceRegistryReaderResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method NewPriceRegistryReader not implemented") } -func (UnimplementedExecutionCustomHandlersServer) NewTokenDataReader(context.Context, *NewTokenDataRequest) (*NewTokenDataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewTokenDataReader not implemented") -} -func (UnimplementedExecutionCustomHandlersServer) NewTokenPoolBatchedReader(context.Context, *NewTokenPoolBatchedReaderRequest) (*NewTokenPoolBatchedReaderResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewTokenPoolBatchedReader not implemented") -} func (UnimplementedExecutionCustomHandlersServer) SourceNativeToken(context.Context, *SourceNativeTokenRequest) (*SourceNativeTokenResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SourceNativeToken not implemented") } @@ -377,42 +347,6 @@ func _ExecutionCustomHandlers_NewPriceRegistryReader_Handler(srv interface{}, ct return interceptor(ctx, in, info, handler) } -func _ExecutionCustomHandlers_NewTokenDataReader_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewTokenDataRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ExecutionCustomHandlersServer).NewTokenDataReader(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ExecutionCustomHandlers_NewTokenDataReader_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ExecutionCustomHandlersServer).NewTokenDataReader(ctx, req.(*NewTokenDataRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ExecutionCustomHandlers_NewTokenPoolBatchedReader_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewTokenPoolBatchedReaderRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ExecutionCustomHandlersServer).NewTokenPoolBatchedReader(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ExecutionCustomHandlers_NewTokenPoolBatchedReader_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ExecutionCustomHandlersServer).NewTokenPoolBatchedReader(ctx, req.(*NewTokenPoolBatchedReaderRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _ExecutionCustomHandlers_SourceNativeToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SourceNativeTokenRequest) if err := dec(in); err != nil { @@ -476,14 +410,6 @@ var ExecutionCustomHandlers_ServiceDesc = grpc.ServiceDesc{ MethodName: "NewPriceRegistryReader", Handler: _ExecutionCustomHandlers_NewPriceRegistryReader_Handler, }, - { - MethodName: "NewTokenDataReader", - Handler: _ExecutionCustomHandlers_NewTokenDataReader_Handler, - }, - { - MethodName: "NewTokenPoolBatchedReader", - Handler: _ExecutionCustomHandlers_NewTokenPoolBatchedReader_Handler, - }, { MethodName: "SourceNativeToken", Handler: _ExecutionCustomHandlers_SourceNativeToken_Handler, diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/execution_provider.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/execution_provider.go index 7e862c99c..9163dab4c 100644 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/execution_provider.go +++ b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/execution_provider.go @@ -136,40 +136,6 @@ func (e *ExecProviderClient) NewPriceRegistryReader(ctx context.Context, addr cc return priceReader, nil } -// NewTokenDataReader implements types.CCIPExecProvider. -func (e *ExecProviderClient) NewTokenDataReader(ctx context.Context, tokenAddress cciptypes.Address) (cciptypes.TokenDataReader, error) { - req := ccippb.NewTokenDataRequest{Address: string(tokenAddress)} - resp, err := e.grpcClient.NewTokenDataReader(ctx, &req) - if err != nil { - return nil, err - } - // TODO BCF-3061: make this work for proxied relayer - tokenDataConn, err := e.BrokerExt.Dial(uint32(resp.TokenDataReaderServiceId)) - if err != nil { - return nil, fmt.Errorf("failed to lookup token data reader service at %d: %w", resp.TokenDataReaderServiceId, err) - } - // need to wrap grpc tokenDataReader into the desired interface - tokenDataReader := NewTokenDataReaderGRPCClient(tokenDataConn) - - return tokenDataReader, nil -} - -// NewTokenPoolBatchedReader implements types.CCIPExecProvider. -func (e *ExecProviderClient) NewTokenPoolBatchedReader(ctx context.Context, offRampAddress cciptypes.Address, srcChainSelector uint64) (cciptypes.TokenPoolBatchedReader, error) { - req := ccippb.NewTokenPoolBatchedReaderRequest{Address: string(offRampAddress), SourceChainSelector: srcChainSelector} - resp, err := e.grpcClient.NewTokenPoolBatchedReader(ctx, &req) - if err != nil { - return nil, err - } - // TODO BCF-3061: make this work for proxied relayer - tokenPoolConn, err := e.BrokerExt.Dial(uint32(resp.TokenPoolBatchedReaderServiceId)) - if err != nil { - return nil, fmt.Errorf("failed to lookup token poll batched reader service at %d: %w", resp.TokenPoolBatchedReaderServiceId, err) - } - tokenPool := NewTokenPoolBatchedReaderGRPCClient(tokenPoolConn) - return tokenPool, nil -} - // SourceNativeToken implements types.CCIPExecProvider. func (e *ExecProviderClient) SourceNativeToken(ctx context.Context, addr cciptypes.Address) (cciptypes.Address, error) { // unlike the other methods, this one does not create a new resource, so we do not @@ -187,7 +153,7 @@ func (e *ExecProviderClient) Close() error { } // ExecProviderServer is a server that wraps the custom methods of the [types.CCIPExecProvider] -// this is necessary because those method create new resources that need to be served by the broker +// this is necessary because those methods create new resources that need to be served by the broker // when we are running in legacy mode. type ExecProviderServer struct { ccippb.UnimplementedExecutionCustomHandlersServer @@ -255,7 +221,7 @@ func (e *ExecProviderServer) NewOffRampReader(ctx context.Context, req *ccippb.N if err != nil { return nil, err } - // ensure the grpc server is closed when the offRamp is closed. See comment in NewPriceRegistryReader for more details + // Ensure the grpc server is closed when the offRamp is closed. See comment in NewPriceRegistryReader for more details offRampHandler.AddDep(offRampResource) return &ccippb.NewOffRampReaderResponse{OfframpReaderServiceId: int32(offRampID)}, nil } @@ -274,7 +240,7 @@ func (e *ExecProviderServer) NewOnRampReader(ctx context.Context, req *ccippb.Ne if err != nil { return nil, err } - // ensure the grpc server is closed when the onRamp is closed. See comment in NewPriceRegistryReader for more details + // Ensure the grpc server is closed when the onRamp is closed. See comment in NewPriceRegistryReader for more details srv.AddDep(onRampResource) return &ccippb.NewOnRampReaderResponse{OnrampReaderServiceId: int32(onRampID)}, nil } @@ -294,51 +260,13 @@ func (e *ExecProviderServer) NewPriceRegistryReader(ctx context.Context, req *cc return nil, err } // There is a chicken-and-egg problem here. Our broker is responsible for spawning the grpc server. - // that server needs to be shutdown when the priceRegistry is closed. We don't have a handle to the + // That server needs to be shutdown when the priceRegistry is closed. We don't have a handle to the // grpc server until we after we have constructed the priceRegistry, so we can't configure the shutdown // handler up front. priceRegistryHandler.AddDep(spawnedServer) return &ccippb.NewPriceRegistryReaderResponse{PriceRegistryReaderServiceId: int32(priceReaderID)}, nil } -func (e *ExecProviderServer) NewTokenDataReader(ctx context.Context, req *ccippb.NewTokenDataRequest) (*ccippb.NewTokenDataResponse, error) { - reader, err := e.impl.NewTokenDataReader(ctx, cciptypes.Address(req.Address)) - if err != nil { - return nil, err - } - // wrap the reader in a grpc server and serve it - tokenDataHandler := NewTokenDataReaderGRPCServer(reader) - // the id is handle to the broker, we will need it on the other side to dial the resource - tokeDataReaderID, spawnedServer, err := e.ServeNew("TokenDataReader", func(s *grpc.Server) { - ccippb.RegisterTokenDataReaderServer(s, tokenDataHandler) - }) - if err != nil { - return nil, err - } - - tokenDataHandler.AddDep(spawnedServer) - return &ccippb.NewTokenDataResponse{TokenDataReaderServiceId: int32(tokeDataReaderID)}, nil -} - -func (e *ExecProviderServer) NewTokenPoolBatchedReader(ctx context.Context, req *ccippb.NewTokenPoolBatchedReaderRequest) (*ccippb.NewTokenPoolBatchedReaderResponse, error) { - reader, err := e.impl.NewTokenPoolBatchedReader(ctx, cciptypes.Address(req.Address), req.SourceChainSelector) - if err != nil { - return nil, err - } - // wrap the reader in a grpc server and serve it - tokenPoolHandler := NewTokenPoolBatchedReaderGRPCServer(reader) - // the id is handle to the broker, we will need it on the other side to dial the resource - tokenPoolID, spawnedServer, err := e.ServeNew("TokenPoolBatchedReader", func(s *grpc.Server) { - ccippb.RegisterTokenPoolBatcherReaderServer(s, tokenPoolHandler) - }) - if err != nil { - return nil, err - } - // ensure the grpc server is closed when the tokenPool is closed. See comment in NewPriceRegistryReader for more details - tokenPoolHandler.AddDep(spawnedServer) - return &ccippb.NewTokenPoolBatchedReaderResponse{TokenPoolBatchedReaderServiceId: int32(tokenPoolID)}, nil -} - func (e *ExecProviderServer) SourceNativeToken(ctx context.Context, req *ccippb.SourceNativeTokenRequest) (*ccippb.SourceNativeTokenResponse, error) { addr, err := e.impl.SourceNativeToken(ctx, cciptypes.Address(req.SourceRouterAddress)) if err != nil { diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider.go index 2dec5de1e..baa1859f2 100644 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider.go +++ b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider.go @@ -27,7 +27,7 @@ type ExecProviderTester interface { } // ExecutionProvider is a static implementation of the ExecProviderTester interface. -// It is to be used in tests the verify grpc implementations of the ExecProvider interface. +// It is to be used in tests the `verify` grpc implementations of the ExecProvider interface. var ExecutionProvider = staticExecProvider{ staticExecProviderConfig: staticExecProviderConfig{ addr: ccip.Address("some address"), @@ -39,8 +39,6 @@ var ExecutionProvider = staticExecProvider{ onRampReader: OnRampReader, priceRegistryReader: PriceRegistryReader, sourceNativeTokenResponse: ccip.Address("source native token response"), - tokenDataReader: TokenDataReader, - tokenPoolBatchedReader: TokenPoolBatchedReader, transactionStatusResponse: types.Fatal, }, } @@ -58,8 +56,6 @@ type staticExecProviderConfig struct { onRampReader OnRampEvaluator priceRegistryReader PriceRegistryReaderEvaluator sourceNativeTokenResponse ccip.Address - tokenDataReader TokenDataReaderEvaluator - tokenPoolBatchedReader TokenPoolBatchedReaderEvaluator transactionStatusResponse types.TransactionStatus } @@ -143,26 +139,6 @@ func (s staticExecProvider) Evaluate(ctx context.Context, other types.CCIPExecPr return evaluationError{err: err, component: priceRegistryComponent} } - // TokenDataReader test case - otherTokenData, err := other.NewTokenDataReader(ctx, "ignored") - if err != nil { - return fmt.Errorf("failed to create other token data reader: %w", err) - } - err = s.tokenDataReader.Evaluate(ctx, otherTokenData) - if err != nil { - return evaluationError{err: err, component: "TokenDataReader"} - } - - // TokenPoolBatchedReader test case - otherPool, err := other.NewTokenPoolBatchedReader(ctx, "ignored", 0) - if err != nil { - return fmt.Errorf("failed to create other token pool batched reader: %w", err) - } - err = s.tokenPoolBatchedReader.Evaluate(ctx, otherPool) - if err != nil { - return evaluationError{err: err, component: "TokenPoolBatchedReader"} - } - // SourceNativeToken test case otherSourceNativeToken, err := other.SourceNativeToken(ctx, "ignored") if err != nil { @@ -209,16 +185,6 @@ func (s staticExecProvider) NewPriceRegistryReader(ctx context.Context, addr cci return s.priceRegistryReader, nil } -// NewTokenDataReader implements ExecProviderEvaluator. -func (s staticExecProvider) NewTokenDataReader(ctx context.Context, tokenAddress ccip.Address) (ccip.TokenDataReader, error) { - return s.tokenDataReader, nil -} - -// NewTokenPoolBatchedReader implements ExecProviderEvaluator. -func (s staticExecProvider) NewTokenPoolBatchedReader(ctx context.Context, offRampAddress ccip.Address, sourceChainSelector uint64) (ccip.TokenPoolBatchedReader, error) { - return s.tokenPoolBatchedReader, nil -} - // OffchainConfigDigester implements ExecProviderEvaluator. func (s staticExecProvider) OffchainConfigDigester() libocr.OffchainConfigDigester { return s.offchainDigester @@ -270,13 +236,6 @@ func (s staticExecProvider) AssertEqual(ctx context.Context, t *testing.T, other assert.Equal(t, s.sourceNativeTokenResponse, other) }) - // TokenDataReader test case - t.Run("TokenDataReader", func(t *testing.T) { - other, err := other.NewTokenDataReader(ctx, "ignored") - require.NoError(t, err) - assert.NoError(t, s.tokenDataReader.Evaluate(ctx, other)) - }) - // GetTransactionStatus test case t.Run("GetTransactionStatus", func(t *testing.T) { other, err := other.GetTransactionStatus(ctx, "ignored") diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider_test.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider_test.go index 9d898dbfc..8f5a212d3 100644 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider_test.go +++ b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/exec_provider_test.go @@ -75,20 +75,6 @@ func roundTripExecProviderTests(t *testing.T, client types.CCIPExecProvider) { require.NoError(t, priceRegistryClient.Close()) }) - t.Run("TokenData", func(t *testing.T) { - tokenDataClient, err := client.NewTokenDataReader(tests.Context(t), "ignored") - require.NoError(t, err) - roundTripTokenDataTests(t, tokenDataClient) - require.NoError(t, tokenDataClient.Close()) - }) - - t.Run("TokenPool", func(t *testing.T) { - tokenReaderClient, err := client.NewTokenPoolBatchedReader(tests.Context(t), "ignored", 0) - require.NoError(t, err) - roundTripTokenPoolTests(t, tokenReaderClient) - require.NoError(t, tokenReaderClient.Close()) - }) - t.Run("SourceNativeToken", func(t *testing.T) { token, err := client.SourceNativeToken(tests.Context(t), "ignored") require.NoError(t, err) diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data.go deleted file mode 100644 index ee97af6bb..000000000 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data.go +++ /dev/null @@ -1,101 +0,0 @@ -package test - -import ( - "context" - "fmt" - "math/big" - "reflect" - "time" - - testtypes "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/test/types" - "github.com/smartcontractkit/chainlink-common/pkg/types/ccip" - cciptypes "github.com/smartcontractkit/chainlink-common/pkg/types/ccip" -) - -var TokenDataReader = staticTokenDataReader{ - staticTokenDataReaderConfig{ - readTokenDataRequest: readTokenDataRequest{ - msg: cciptypes.EVM2EVMOnRampCCIPSendRequestedWithMeta{ - EVM2EVMMessage: cciptypes.EVM2EVMMessage{ - SequenceNumber: 1, - GasLimit: big.NewInt(1), - Nonce: 1, - MessageID: ccip.Hash{1}, - SourceChainSelector: 1, - Sender: ccip.Address("token data reader sender"), - Receiver: ccip.Address("token data reader receiver"), - Strict: true, - FeeToken: ccip.Address("token data reader feeToken"), - FeeTokenAmount: big.NewInt(1), - Data: []byte("token data reader data"), - TokenAmounts: []ccip.TokenAmount{ - { - Token: ccip.Address("token data reader token"), - Amount: big.NewInt(1), - }, - }, - SourceTokenData: [][]byte{ - []byte("token data reader sourceTokenData"), - []byte("token data reader sourceTokenData2"), - }, - }, - BlockTimestamp: time.Unix(17779, 0).UTC(), - Executed: true, - Finalized: true, - LogIndex: 1, - TxHash: "0x123", - }, - }, - readTokenDataResponse: []byte("read token data response"), - }, -} - -type TokenDataReaderEvaluator interface { - cciptypes.TokenDataReader - testtypes.Evaluator[cciptypes.TokenDataReader] -} -type staticTokenDataReader struct { - staticTokenDataReaderConfig -} - -var _ TokenDataReaderEvaluator = staticTokenDataReader{} - -// Close implements ccip.TokenDataReader. -func (s staticTokenDataReader) Close() error { - return nil -} - -// Evaluate implements types_test.Evaluator. -func (s staticTokenDataReader) Evaluate(ctx context.Context, other cciptypes.TokenDataReader) error { - got, err := other.ReadTokenData(ctx, s.readTokenDataRequest.msg, s.readTokenDataRequest.tokenIndex) - if err != nil { - return fmt.Errorf("failed to get other ReadTokenData: %w", err) - } - if !reflect.DeepEqual(got, s.readTokenDataResponse) { - return fmt.Errorf("unexpected token data: wanted %v got %v", s.readTokenDataResponse, got) - } - return nil -} - -// ReadTokenData implements ccip.TokenDataReader. -func (s staticTokenDataReader) ReadTokenData(ctx context.Context, msg cciptypes.EVM2EVMOnRampCCIPSendRequestedWithMeta, tokenIndex int) (tokenData []byte, err error) { - if !reflect.DeepEqual(s.readTokenDataRequest.msg, msg) { - return nil, fmt.Errorf("unexpected msg: wanted %v got %v", s.readTokenDataRequest.msg, msg) - } - if tokenIndex != s.readTokenDataRequest.tokenIndex { - return nil, fmt.Errorf("unexpected tokenIndex: wanted %v got %v", s.readTokenDataRequest.tokenIndex, tokenIndex) - } - return s.readTokenDataResponse, nil -} - -var _ cciptypes.TokenDataReader = staticTokenDataReader{} - -type staticTokenDataReaderConfig struct { - readTokenDataRequest readTokenDataRequest - readTokenDataResponse []byte -} - -type readTokenDataRequest struct { - msg cciptypes.EVM2EVMOnRampCCIPSendRequestedWithMeta - tokenIndex int -} diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data_test.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data_test.go deleted file mode 100644 index 17465f0cd..000000000 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_data_test.go +++ /dev/null @@ -1,67 +0,0 @@ -package test - -import ( - "context" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "google.golang.org/grpc" - - loopnet "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/net" - ccippb "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/pb/ccip" - "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/relayer/pluginprovider/ext/ccip" - looptest "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/test" - cciptypes "github.com/smartcontractkit/chainlink-common/pkg/types/ccip" - "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" -) - -func TestStaticTokenData(t *testing.T) { - t.Parallel() - - // static test implementation is self consistent - ctx := context.Background() - assert.NoError(t, TokenDataReader.Evaluate(ctx, TokenDataReader)) - - // error when the test implementation is evaluates something that differs from the static implementation - botched := TokenDataReader - botched.readTokenDataResponse = []byte("not the right response") - err := TokenDataReader.Evaluate(ctx, botched) - require.Error(t, err) -} - -func TestTokenDataGRPC(t *testing.T) { - t.Parallel() - - scaffold := looptest.NewGRPCScaffold(t, setupTokenDataServer, setupTokenDataClient) - roundTripTokenDataTests(t, scaffold.Client()) - // token data reader implements dependency management, test that it closes properly - t.Run("Dependency management", func(t *testing.T) { - d := &looptest.MockDep{} - scaffold.Server().AddDep(d) - assert.False(t, d.IsClosed()) - scaffold.Client().Close() - assert.True(t, d.IsClosed()) - }) -} - -func roundTripTokenDataTests(t *testing.T, client cciptypes.TokenDataReader) { - t.Helper() - // test read token data - tokenData, err := client.ReadTokenData(tests.Context(t), TokenDataReader.readTokenDataRequest.msg, TokenDataReader.readTokenDataRequest.tokenIndex) - require.NoError(t, err) - assert.Equal(t, TokenDataReader.readTokenDataResponse, tokenData) -} - -func setupTokenDataServer(t *testing.T, s *grpc.Server, b *loopnet.BrokerExt) *ccip.TokenDataReaderGRPCServer { - tokenData := ccip.NewTokenDataReaderGRPCServer(TokenDataReader) - ccippb.RegisterTokenDataReaderServer(s, tokenData) - return tokenData -} - -func setupTokenDataClient(b *loopnet.BrokerExt, conn grpc.ClientConnInterface) *ccip.TokenDataReaderGRPCClient { - return ccip.NewTokenDataReaderGRPCClient(conn) -} - -var _ looptest.SetupGRPCServer[*ccip.TokenDataReaderGRPCServer] = setupTokenDataServer -var _ looptest.SetupGRPCClient[*ccip.TokenDataReaderGRPCClient] = setupTokenDataClient diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool.go deleted file mode 100644 index 488783a4c..000000000 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool.go +++ /dev/null @@ -1,79 +0,0 @@ -package test - -import ( - "context" - "fmt" - "math/big" - "reflect" - - "github.com/stretchr/testify/assert" - - testtypes "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/test/types" - cciptypes "github.com/smartcontractkit/chainlink-common/pkg/types/ccip" -) - -// TokenPoolBatchedReader is a static implementation of the TokenPoolBatchedReaderEvaluator interface. -var TokenPoolBatchedReader = staticTokenPoolBatchedReader{ - staticTokenPoolBatchedReaderConfig{ - getInboundTokenPoolRateLimitsRequest: []cciptypes.Address{ - cciptypes.Address("token pool batched reader request1"), - cciptypes.Address("token pool batched reader request2"), - }, - getInboundTokenPoolRateLimitsResponse: []cciptypes.TokenBucketRateLimit{ - { - Tokens: big.NewInt(7), - LastUpdated: 3, - IsEnabled: true, - Capacity: big.NewInt(5), - Rate: big.NewInt(3), - }, - { - Tokens: big.NewInt(11), - LastUpdated: 3, - IsEnabled: true, - Capacity: big.NewInt(13), - Rate: big.NewInt(17), - }, - }, - }, -} - -type TokenPoolBatchedReaderEvaluator interface { - cciptypes.TokenPoolBatchedReader - testtypes.Evaluator[cciptypes.TokenPoolBatchedReader] -} -type staticTokenPoolBatchedReader struct { - staticTokenPoolBatchedReaderConfig -} - -var _ TokenPoolBatchedReaderEvaluator = staticTokenPoolBatchedReader{} - -// Close implements ccip.TokenPoolBatchedReader. -func (s staticTokenPoolBatchedReader) Close() error { - return nil -} - -// Evaluate implements types_test.Evaluator. -func (s staticTokenPoolBatchedReader) Evaluate(ctx context.Context, other cciptypes.TokenPoolBatchedReader) error { - got, err := other.GetInboundTokenPoolRateLimits(ctx, s.getInboundTokenPoolRateLimitsRequest) - if err != nil { - return err - } - if !reflect.DeepEqual(got, s.getInboundTokenPoolRateLimitsResponse) { - return fmt.Errorf("got %v, want %v", got, s.getInboundTokenPoolRateLimitsResponse) - } - return nil -} - -// GetInboundTokenPoolRateLimits implements TokenPoolBatchedReaderEvaluator. -func (s staticTokenPoolBatchedReader) GetInboundTokenPoolRateLimits(ctx context.Context, tokenPoolReaders []cciptypes.Address) ([]cciptypes.TokenBucketRateLimit, error) { - if !assert.ObjectsAreEqualValues(tokenPoolReaders, s.getInboundTokenPoolRateLimitsRequest) { - return nil, fmt.Errorf("got %v, want %v", tokenPoolReaders, s.getInboundTokenPoolRateLimitsRequest) - } - return s.getInboundTokenPoolRateLimitsResponse, nil -} - -type staticTokenPoolBatchedReaderConfig struct { - getInboundTokenPoolRateLimitsRequest cciptypes.Addresses - getInboundTokenPoolRateLimitsResponse []cciptypes.TokenBucketRateLimit -} diff --git a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool_test.go b/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool_test.go deleted file mode 100644 index deab3533a..000000000 --- a/pkg/loop/internal/relayer/pluginprovider/ext/ccip/test/token_pool_test.go +++ /dev/null @@ -1,67 +0,0 @@ -package test - -import ( - "context" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "google.golang.org/grpc" - - loopnet "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/net" - ccippb "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/pb/ccip" - "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/relayer/pluginprovider/ext/ccip" - looptest "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/test" - cciptypes "github.com/smartcontractkit/chainlink-common/pkg/types/ccip" - "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" -) - -func TestStaticTokenPool(t *testing.T) { - t.Parallel() - - // static test implementation is self consistent - ctx := context.Background() - assert.NoError(t, TokenPoolBatchedReader.Evaluate(ctx, TokenPoolBatchedReader)) - - // error when the test implementation is evaluates something that differs from the static implementation - botched := TokenPoolBatchedReader - botched.getInboundTokenPoolRateLimitsRequest = []cciptypes.Address{"not the right request"} - err := TokenPoolBatchedReader.Evaluate(ctx, botched) - require.Error(t, err) - assert.Contains(t, err.Error(), "not the right request") -} - -func TestTokenPoolGRPC(t *testing.T) { - t.Parallel() - scaffold := looptest.NewGRPCScaffold(t, setupTokenPoolServer, setupTokenPoolClient) - roundTripTokenPoolTests(t, scaffold.Client()) - // token pool implements dependency management, test that it closes properly - t.Run("Dependency management", func(t *testing.T) { - d := &looptest.MockDep{} - scaffold.Server().AddDep(d) - assert.False(t, d.IsClosed()) - scaffold.Client().Close() - assert.True(t, d.IsClosed()) - }) -} - -func roundTripTokenPoolTests(t *testing.T, client cciptypes.TokenPoolBatchedReader) { - t.Helper() - // test read token data - limits, err := client.GetInboundTokenPoolRateLimits(tests.Context(t), TokenPoolBatchedReader.getInboundTokenPoolRateLimitsRequest) - require.NoError(t, err) - assert.Equal(t, TokenPoolBatchedReader.getInboundTokenPoolRateLimitsResponse, limits) -} - -func setupTokenPoolServer(t *testing.T, s *grpc.Server, b *loopnet.BrokerExt) *ccip.TokenPoolBatchedReaderGRPCServer { - tokenPool := ccip.NewTokenPoolBatchedReaderGRPCServer(TokenPoolBatchedReader) - ccippb.RegisterTokenPoolBatcherReaderServer(s, tokenPool) - return tokenPool -} - -func setupTokenPoolClient(b *loopnet.BrokerExt, conn grpc.ClientConnInterface) *ccip.TokenPoolBatchedReaderGRPCClient { - return ccip.NewTokenPoolBatchedReaderGRPCClient(conn) -} - -var _ looptest.SetupGRPCServer[*ccip.TokenPoolBatchedReaderGRPCServer] = setupTokenPoolServer -var _ looptest.SetupGRPCClient[*ccip.TokenPoolBatchedReaderGRPCClient] = setupTokenPoolClient diff --git a/pkg/types/provider_ccip.go b/pkg/types/provider_ccip.go index 3ba9cde02..684268259 100644 --- a/pkg/types/provider_ccip.go +++ b/pkg/types/provider_ccip.go @@ -25,8 +25,6 @@ type CCIPExecProvider interface { NewOffRampReader(ctx context.Context, addr ccip.Address) (ccip.OffRampReader, error) NewOnRampReader(ctx context.Context, addr ccip.Address, sourceSelector uint64, destSelector uint64) (ccip.OnRampReader, error) NewPriceRegistryReader(ctx context.Context, addr ccip.Address) (ccip.PriceRegistryReader, error) - NewTokenDataReader(ctx context.Context, tokenAddress ccip.Address) (ccip.TokenDataReader, error) - NewTokenPoolBatchedReader(ctx context.Context, offRampAddress ccip.Address, sourceSelector uint64) (ccip.TokenPoolBatchedReader, error) SourceNativeToken(ctx context.Context, addr ccip.Address) (ccip.Address, error) }