// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel // protoc v3.14.0 // source: bank.proto package main import ( context "context" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type Account_Type int32 const ( Account_UNKNOWN Account_Type = 0 Account_CHECKING Account_Type = 1 Account_SAVING Account_Type = 2 Account_MONEY_MARKET Account_Type = 3 Account_LINE_OF_CREDIT Account_Type = 4 Account_LOAN Account_Type = 5 Account_EQUITIES Account_Type = 6 ) // Enum value maps for Account_Type. var ( Account_Type_name = map[int32]string{ 0: "UNKNOWN", 1: "CHECKING", 2: "SAVING", 3: "MONEY_MARKET", 4: "LINE_OF_CREDIT", 5: "LOAN", 6: "EQUITIES", } Account_Type_value = map[string]int32{ "UNKNOWN": 0, "CHECKING": 1, "SAVING": 2, "MONEY_MARKET": 3, "LINE_OF_CREDIT": 4, "LOAN": 5, "EQUITIES": 6, } ) func (x Account_Type) Enum() *Account_Type { p := new(Account_Type) *p = x return p } func (x Account_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Account_Type) Descriptor() protoreflect.EnumDescriptor { return file_bank_proto_enumTypes[0].Descriptor() } func (Account_Type) Type() protoreflect.EnumType { return &file_bank_proto_enumTypes[0] } func (x Account_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Account_Type.Descriptor instead. func (Account_Type) EnumDescriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{3, 0} } type DepositRequest_Source int32 const ( DepositRequest_UNKNOWN DepositRequest_Source = 0 DepositRequest_CASH DepositRequest_Source = 1 DepositRequest_CHECK DepositRequest_Source = 2 DepositRequest_ACH DepositRequest_Source = 3 DepositRequest_WIRE DepositRequest_Source = 4 ) // Enum value maps for DepositRequest_Source. var ( DepositRequest_Source_name = map[int32]string{ 0: "UNKNOWN", 1: "CASH", 2: "CHECK", 3: "ACH", 4: "WIRE", } DepositRequest_Source_value = map[string]int32{ "UNKNOWN": 0, "CASH": 1, "CHECK": 2, "ACH": 3, "WIRE": 4, } ) func (x DepositRequest_Source) Enum() *DepositRequest_Source { p := new(DepositRequest_Source) *p = x return p } func (x DepositRequest_Source) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DepositRequest_Source) Descriptor() protoreflect.EnumDescriptor { return file_bank_proto_enumTypes[1].Descriptor() } func (DepositRequest_Source) Type() protoreflect.EnumType { return &file_bank_proto_enumTypes[1] } func (x DepositRequest_Source) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DepositRequest_Source.Descriptor instead. func (DepositRequest_Source) EnumDescriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{6, 0} } type OpenAccountRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InitialDepositCents int32 `protobuf:"varint,1,opt,name=initial_deposit_cents,json=initialDepositCents,proto3" json:"initial_deposit_cents,omitempty"` Type Account_Type `protobuf:"varint,2,opt,name=type,proto3,enum=Account_Type" json:"type,omitempty"` } func (x *OpenAccountRequest) Reset() { *x = OpenAccountRequest{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OpenAccountRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OpenAccountRequest) ProtoMessage() {} func (x *OpenAccountRequest) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[0] 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 OpenAccountRequest.ProtoReflect.Descriptor instead. func (*OpenAccountRequest) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{0} } func (x *OpenAccountRequest) GetInitialDepositCents() int32 { if x != nil { return x.InitialDepositCents } return 0 } func (x *OpenAccountRequest) GetType() Account_Type { if x != nil { return x.Type } return Account_UNKNOWN } type CloseAccountRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` } func (x *CloseAccountRequest) Reset() { *x = CloseAccountRequest{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseAccountRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseAccountRequest) ProtoMessage() {} func (x *CloseAccountRequest) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[1] 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 CloseAccountRequest.ProtoReflect.Descriptor instead. func (*CloseAccountRequest) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{1} } func (x *CloseAccountRequest) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } type GetAccountsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Accounts []*Account `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` } func (x *GetAccountsResponse) Reset() { *x = GetAccountsResponse{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAccountsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAccountsResponse) ProtoMessage() {} func (x *GetAccountsResponse) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[2] 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 GetAccountsResponse.ProtoReflect.Descriptor instead. func (*GetAccountsResponse) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{2} } func (x *GetAccountsResponse) GetAccounts() []*Account { if x != nil { return x.Accounts } return nil } type Account struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` Type Account_Type `protobuf:"varint,2,opt,name=type,proto3,enum=Account_Type" json:"type,omitempty"` BalanceCents int32 `protobuf:"varint,3,opt,name=balance_cents,json=balanceCents,proto3" json:"balance_cents,omitempty"` } func (x *Account) Reset() { *x = Account{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Account) String() string { return protoimpl.X.MessageStringOf(x) } func (*Account) ProtoMessage() {} func (x *Account) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[3] 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 Account.ProtoReflect.Descriptor instead. func (*Account) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{3} } func (x *Account) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } func (x *Account) GetType() Account_Type { if x != nil { return x.Type } return Account_UNKNOWN } func (x *Account) GetBalanceCents() int32 { if x != nil { return x.BalanceCents } return 0 } type GetTransactionsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"` End *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"` } func (x *GetTransactionsRequest) Reset() { *x = GetTransactionsRequest{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetTransactionsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTransactionsRequest) ProtoMessage() {} func (x *GetTransactionsRequest) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[4] 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 GetTransactionsRequest.ProtoReflect.Descriptor instead. func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{4} } func (x *GetTransactionsRequest) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } func (x *GetTransactionsRequest) GetStart() *timestamppb.Timestamp { if x != nil { return x.Start } return nil } func (x *GetTransactionsRequest) GetEnd() *timestamppb.Timestamp { if x != nil { return x.End } return nil } type Transaction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` SeqNumber uint64 `protobuf:"varint,2,opt,name=seq_number,json=seqNumber,proto3" json:"seq_number,omitempty"` Date *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=date,proto3" json:"date,omitempty"` AmountCents int32 `protobuf:"varint,4,opt,name=amount_cents,json=amountCents,proto3" json:"amount_cents,omitempty"` Desc string `protobuf:"bytes,5,opt,name=desc,proto3" json:"desc,omitempty"` } func (x *Transaction) Reset() { *x = Transaction{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Transaction) String() string { return protoimpl.X.MessageStringOf(x) } func (*Transaction) ProtoMessage() {} func (x *Transaction) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[5] 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 Transaction.ProtoReflect.Descriptor instead. func (*Transaction) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{5} } func (x *Transaction) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } func (x *Transaction) GetSeqNumber() uint64 { if x != nil { return x.SeqNumber } return 0 } func (x *Transaction) GetDate() *timestamppb.Timestamp { if x != nil { return x.Date } return nil } func (x *Transaction) GetAmountCents() int32 { if x != nil { return x.AmountCents } return 0 } func (x *Transaction) GetDesc() string { if x != nil { return x.Desc } return "" } type DepositRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` AmountCents int32 `protobuf:"varint,2,opt,name=amount_cents,json=amountCents,proto3" json:"amount_cents,omitempty"` Source DepositRequest_Source `protobuf:"varint,3,opt,name=source,proto3,enum=DepositRequest_Source" json:"source,omitempty"` Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` } func (x *DepositRequest) Reset() { *x = DepositRequest{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DepositRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DepositRequest) ProtoMessage() {} func (x *DepositRequest) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[6] 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 DepositRequest.ProtoReflect.Descriptor instead. func (*DepositRequest) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{6} } func (x *DepositRequest) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } func (x *DepositRequest) GetAmountCents() int32 { if x != nil { return x.AmountCents } return 0 } func (x *DepositRequest) GetSource() DepositRequest_Source { if x != nil { return x.Source } return DepositRequest_UNKNOWN } func (x *DepositRequest) GetDesc() string { if x != nil { return x.Desc } return "" } type BalanceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` BalanceCents int32 `protobuf:"varint,2,opt,name=balance_cents,json=balanceCents,proto3" json:"balance_cents,omitempty"` } func (x *BalanceResponse) Reset() { *x = BalanceResponse{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BalanceResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BalanceResponse) ProtoMessage() {} func (x *BalanceResponse) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[7] 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 BalanceResponse.ProtoReflect.Descriptor instead. func (*BalanceResponse) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{7} } func (x *BalanceResponse) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } func (x *BalanceResponse) GetBalanceCents() int32 { if x != nil { return x.BalanceCents } return 0 } type WithdrawRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountNumber uint64 `protobuf:"varint,1,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` AmountCents int32 `protobuf:"varint,2,opt,name=amount_cents,json=amountCents,proto3" json:"amount_cents,omitempty"` Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` } func (x *WithdrawRequest) Reset() { *x = WithdrawRequest{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WithdrawRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WithdrawRequest) ProtoMessage() {} func (x *WithdrawRequest) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[8] 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 WithdrawRequest.ProtoReflect.Descriptor instead. func (*WithdrawRequest) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{8} } func (x *WithdrawRequest) GetAccountNumber() uint64 { if x != nil { return x.AccountNumber } return 0 } func (x *WithdrawRequest) GetAmountCents() int32 { if x != nil { return x.AmountCents } return 0 } func (x *WithdrawRequest) GetDesc() string { if x != nil { return x.Desc } return "" } type TransferRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Source: // *TransferRequest_SourceAccountNumber // *TransferRequest_ExternalSource Source isTransferRequest_Source `protobuf_oneof:"source"` // Types that are assignable to Dest: // *TransferRequest_DestAccountNumber // *TransferRequest_ExternalDest Dest isTransferRequest_Dest `protobuf_oneof:"dest"` AmountCents int32 `protobuf:"varint,5,opt,name=amount_cents,json=amountCents,proto3" json:"amount_cents,omitempty"` Desc string `protobuf:"bytes,6,opt,name=desc,proto3" json:"desc,omitempty"` } func (x *TransferRequest) Reset() { *x = TransferRequest{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransferRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransferRequest) ProtoMessage() {} func (x *TransferRequest) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[9] 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 TransferRequest.ProtoReflect.Descriptor instead. func (*TransferRequest) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{9} } func (m *TransferRequest) GetSource() isTransferRequest_Source { if m != nil { return m.Source } return nil } func (x *TransferRequest) GetSourceAccountNumber() uint64 { if x, ok := x.GetSource().(*TransferRequest_SourceAccountNumber); ok { return x.SourceAccountNumber } return 0 } func (x *TransferRequest) GetExternalSource() *TransferRequest_ExternalAccount { if x, ok := x.GetSource().(*TransferRequest_ExternalSource); ok { return x.ExternalSource } return nil } func (m *TransferRequest) GetDest() isTransferRequest_Dest { if m != nil { return m.Dest } return nil } func (x *TransferRequest) GetDestAccountNumber() uint64 { if x, ok := x.GetDest().(*TransferRequest_DestAccountNumber); ok { return x.DestAccountNumber } return 0 } func (x *TransferRequest) GetExternalDest() *TransferRequest_ExternalAccount { if x, ok := x.GetDest().(*TransferRequest_ExternalDest); ok { return x.ExternalDest } return nil } func (x *TransferRequest) GetAmountCents() int32 { if x != nil { return x.AmountCents } return 0 } func (x *TransferRequest) GetDesc() string { if x != nil { return x.Desc } return "" } type isTransferRequest_Source interface { isTransferRequest_Source() } type TransferRequest_SourceAccountNumber struct { SourceAccountNumber uint64 `protobuf:"varint,1,opt,name=source_account_number,json=sourceAccountNumber,proto3,oneof"` } type TransferRequest_ExternalSource struct { ExternalSource *TransferRequest_ExternalAccount `protobuf:"bytes,2,opt,name=external_source,json=externalSource,proto3,oneof"` } func (*TransferRequest_SourceAccountNumber) isTransferRequest_Source() {} func (*TransferRequest_ExternalSource) isTransferRequest_Source() {} type isTransferRequest_Dest interface { isTransferRequest_Dest() } type TransferRequest_DestAccountNumber struct { DestAccountNumber uint64 `protobuf:"varint,3,opt,name=dest_account_number,json=destAccountNumber,proto3,oneof"` } type TransferRequest_ExternalDest struct { ExternalDest *TransferRequest_ExternalAccount `protobuf:"bytes,4,opt,name=external_dest,json=externalDest,proto3,oneof"` } func (*TransferRequest_DestAccountNumber) isTransferRequest_Dest() {} func (*TransferRequest_ExternalDest) isTransferRequest_Dest() {} type TransferResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SrcAccountNumber uint64 `protobuf:"varint,1,opt,name=src_account_number,json=srcAccountNumber,proto3" json:"src_account_number,omitempty"` SrcBalanceCents int32 `protobuf:"varint,2,opt,name=src_balance_cents,json=srcBalanceCents,proto3" json:"src_balance_cents,omitempty"` DestAccountNumber uint64 `protobuf:"varint,3,opt,name=dest_account_number,json=destAccountNumber,proto3" json:"dest_account_number,omitempty"` DestBalanceCents int32 `protobuf:"varint,4,opt,name=dest_balance_cents,json=destBalanceCents,proto3" json:"dest_balance_cents,omitempty"` } func (x *TransferResponse) Reset() { *x = TransferResponse{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransferResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransferResponse) ProtoMessage() {} func (x *TransferResponse) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[10] 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 TransferResponse.ProtoReflect.Descriptor instead. func (*TransferResponse) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{10} } func (x *TransferResponse) GetSrcAccountNumber() uint64 { if x != nil { return x.SrcAccountNumber } return 0 } func (x *TransferResponse) GetSrcBalanceCents() int32 { if x != nil { return x.SrcBalanceCents } return 0 } func (x *TransferResponse) GetDestAccountNumber() uint64 { if x != nil { return x.DestAccountNumber } return 0 } func (x *TransferResponse) GetDestBalanceCents() int32 { if x != nil { return x.DestBalanceCents } return 0 } type TransferRequest_ExternalAccount struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AchRoutingNumber uint64 `protobuf:"varint,1,opt,name=ach_routing_number,json=achRoutingNumber,proto3" json:"ach_routing_number,omitempty"` AchAccountNumber uint64 `protobuf:"varint,2,opt,name=ach_account_number,json=achAccountNumber,proto3" json:"ach_account_number,omitempty"` } func (x *TransferRequest_ExternalAccount) Reset() { *x = TransferRequest_ExternalAccount{} if protoimpl.UnsafeEnabled { mi := &file_bank_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransferRequest_ExternalAccount) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransferRequest_ExternalAccount) ProtoMessage() {} func (x *TransferRequest_ExternalAccount) ProtoReflect() protoreflect.Message { mi := &file_bank_proto_msgTypes[11] 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 TransferRequest_ExternalAccount.ProtoReflect.Descriptor instead. func (*TransferRequest_ExternalAccount) Descriptor() ([]byte, []int) { return file_bank_proto_rawDescGZIP(), []int{9, 0} } func (x *TransferRequest_ExternalAccount) GetAchRoutingNumber() uint64 { if x != nil { return x.AchRoutingNumber } return 0 } func (x *TransferRequest_ExternalAccount) GetAchAccountNumber() uint64 { if x != nil { return x.AchAccountNumber } return 0 } var File_bank_proto protoreflect.FileDescriptor var file_bank_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x4e, 0x45, 0x59, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x54, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x41, 0x4e, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x51, 0x55, 0x49, 0x54, 0x49, 0x45, 0x53, 0x10, 0x06, 0x22, 0x9f, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xba, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0xdd, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x3d, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x41, 0x53, 0x48, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x43, 0x48, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x49, 0x52, 0x45, 0x10, 0x04, 0x22, 0x5d, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x0f, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0xc7, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x1a, 0x6d, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x61, 0x63, 0x68, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x61, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x72, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x72, 0x63, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x73, 0x32, 0xfa, 0x02, 0x0a, 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x08, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 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, 0x14, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x2c, 0x0a, 0x07, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x0f, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x10, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x10, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_bank_proto_rawDescOnce sync.Once file_bank_proto_rawDescData = file_bank_proto_rawDesc ) func file_bank_proto_rawDescGZIP() []byte { file_bank_proto_rawDescOnce.Do(func() { file_bank_proto_rawDescData = protoimpl.X.CompressGZIP(file_bank_proto_rawDescData) }) return file_bank_proto_rawDescData } var file_bank_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_bank_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_bank_proto_goTypes = []interface{}{ (Account_Type)(0), // 0: Account.Type (DepositRequest_Source)(0), // 1: DepositRequest.Source (*OpenAccountRequest)(nil), // 2: OpenAccountRequest (*CloseAccountRequest)(nil), // 3: CloseAccountRequest (*GetAccountsResponse)(nil), // 4: GetAccountsResponse (*Account)(nil), // 5: Account (*GetTransactionsRequest)(nil), // 6: GetTransactionsRequest (*Transaction)(nil), // 7: Transaction (*DepositRequest)(nil), // 8: DepositRequest (*BalanceResponse)(nil), // 9: BalanceResponse (*WithdrawRequest)(nil), // 10: WithdrawRequest (*TransferRequest)(nil), // 11: TransferRequest (*TransferResponse)(nil), // 12: TransferResponse (*TransferRequest_ExternalAccount)(nil), // 13: TransferRequest.ExternalAccount (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp (*emptypb.Empty)(nil), // 15: google.protobuf.Empty } var file_bank_proto_depIdxs = []int32{ 0, // 0: OpenAccountRequest.type:type_name -> Account.Type 5, // 1: GetAccountsResponse.accounts:type_name -> Account 0, // 2: Account.type:type_name -> Account.Type 14, // 3: GetTransactionsRequest.start:type_name -> google.protobuf.Timestamp 14, // 4: GetTransactionsRequest.end:type_name -> google.protobuf.Timestamp 14, // 5: Transaction.date:type_name -> google.protobuf.Timestamp 1, // 6: DepositRequest.source:type_name -> DepositRequest.Source 13, // 7: TransferRequest.external_source:type_name -> TransferRequest.ExternalAccount 13, // 8: TransferRequest.external_dest:type_name -> TransferRequest.ExternalAccount 2, // 9: Bank.OpenAccount:input_type -> OpenAccountRequest 3, // 10: Bank.CloseAccount:input_type -> CloseAccountRequest 15, // 11: Bank.GetAccounts:input_type -> google.protobuf.Empty 6, // 12: Bank.GetTransactions:input_type -> GetTransactionsRequest 8, // 13: Bank.Deposit:input_type -> DepositRequest 10, // 14: Bank.Withdraw:input_type -> WithdrawRequest 11, // 15: Bank.Transfer:input_type -> TransferRequest 5, // 16: Bank.OpenAccount:output_type -> Account 15, // 17: Bank.CloseAccount:output_type -> google.protobuf.Empty 4, // 18: Bank.GetAccounts:output_type -> GetAccountsResponse 7, // 19: Bank.GetTransactions:output_type -> Transaction 9, // 20: Bank.Deposit:output_type -> BalanceResponse 9, // 21: Bank.Withdraw:output_type -> BalanceResponse 12, // 22: Bank.Transfer:output_type -> TransferResponse 16, // [16:23] is the sub-list for method output_type 9, // [9:16] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_bank_proto_init() } func file_bank_proto_init() { if File_bank_proto != nil { return } if !protoimpl.UnsafeEnabled { file_bank_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenAccountRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseAccountRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAccountsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Account); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTransactionsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Transaction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DepositRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BalanceResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WithdrawRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransferRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransferResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_bank_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransferRequest_ExternalAccount); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_bank_proto_msgTypes[9].OneofWrappers = []interface{}{ (*TransferRequest_SourceAccountNumber)(nil), (*TransferRequest_ExternalSource)(nil), (*TransferRequest_DestAccountNumber)(nil), (*TransferRequest_ExternalDest)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_bank_proto_rawDesc, NumEnums: 2, NumMessages: 12, NumExtensions: 0, NumServices: 1, }, GoTypes: file_bank_proto_goTypes, DependencyIndexes: file_bank_proto_depIdxs, EnumInfos: file_bank_proto_enumTypes, MessageInfos: file_bank_proto_msgTypes, }.Build() File_bank_proto = out.File file_bank_proto_rawDesc = nil file_bank_proto_goTypes = nil file_bank_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // BankClient is the client API for Bank service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type BankClient interface { // OpenAccount creates an account with the type and given initial deposit // as its balance. OpenAccount(ctx context.Context, in *OpenAccountRequest, opts ...grpc.CallOption) (*Account, error) // CloseAccount closes the indicated account. An account can only be // closed if its balance is zero. CloseAccount(ctx context.Context, in *CloseAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // GetAccounts lists all accounts for the current customer. GetAccounts(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAccountsResponse, error) // GetTransactions streams all transactions that match the given criteria. // If the given start date is not specified, transactions since beginning // of time are included. Similarly, if the given end date is not specified, // transactions all the way to the presnet are included. GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Bank_GetTransactionsClient, error) // Deposit increases the balance of an account by depositing funds into it. Deposit(ctx context.Context, in *DepositRequest, opts ...grpc.CallOption) (*BalanceResponse, error) // Withdraw decreases the balance of an account by withdrawing funds from it. Withdraw(ctx context.Context, in *WithdrawRequest, opts ...grpc.CallOption) (*BalanceResponse, error) // Transfer moves money from one account to another. The source and destination // accounts can be with this bank (e.g. "local" account numbers) or can be // external accounts, identified by their ACH routing and account numbers. Transfer(ctx context.Context, in *TransferRequest, opts ...grpc.CallOption) (*TransferResponse, error) } type bankClient struct { cc grpc.ClientConnInterface } func NewBankClient(cc grpc.ClientConnInterface) BankClient { return &bankClient{cc} } func (c *bankClient) OpenAccount(ctx context.Context, in *OpenAccountRequest, opts ...grpc.CallOption) (*Account, error) { out := new(Account) err := c.cc.Invoke(ctx, "/Bank/OpenAccount", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *bankClient) CloseAccount(ctx context.Context, in *CloseAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/Bank/CloseAccount", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *bankClient) GetAccounts(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAccountsResponse, error) { out := new(GetAccountsResponse) err := c.cc.Invoke(ctx, "/Bank/GetAccounts", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *bankClient) GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Bank_GetTransactionsClient, error) { stream, err := c.cc.NewStream(ctx, &_Bank_serviceDesc.Streams[0], "/Bank/GetTransactions", opts...) if err != nil { return nil, err } x := &bankGetTransactionsClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type Bank_GetTransactionsClient interface { Recv() (*Transaction, error) grpc.ClientStream } type bankGetTransactionsClient struct { grpc.ClientStream } func (x *bankGetTransactionsClient) Recv() (*Transaction, error) { m := new(Transaction) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *bankClient) Deposit(ctx context.Context, in *DepositRequest, opts ...grpc.CallOption) (*BalanceResponse, error) { out := new(BalanceResponse) err := c.cc.Invoke(ctx, "/Bank/Deposit", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *bankClient) Withdraw(ctx context.Context, in *WithdrawRequest, opts ...grpc.CallOption) (*BalanceResponse, error) { out := new(BalanceResponse) err := c.cc.Invoke(ctx, "/Bank/Withdraw", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *bankClient) Transfer(ctx context.Context, in *TransferRequest, opts ...grpc.CallOption) (*TransferResponse, error) { out := new(TransferResponse) err := c.cc.Invoke(ctx, "/Bank/Transfer", in, out, opts...) if err != nil { return nil, err } return out, nil } // BankServer is the server API for Bank service. type BankServer interface { // OpenAccount creates an account with the type and given initial deposit // as its balance. OpenAccount(context.Context, *OpenAccountRequest) (*Account, error) // CloseAccount closes the indicated account. An account can only be // closed if its balance is zero. CloseAccount(context.Context, *CloseAccountRequest) (*emptypb.Empty, error) // GetAccounts lists all accounts for the current customer. GetAccounts(context.Context, *emptypb.Empty) (*GetAccountsResponse, error) // GetTransactions streams all transactions that match the given criteria. // If the given start date is not specified, transactions since beginning // of time are included. Similarly, if the given end date is not specified, // transactions all the way to the presnet are included. GetTransactions(*GetTransactionsRequest, Bank_GetTransactionsServer) error // Deposit increases the balance of an account by depositing funds into it. Deposit(context.Context, *DepositRequest) (*BalanceResponse, error) // Withdraw decreases the balance of an account by withdrawing funds from it. Withdraw(context.Context, *WithdrawRequest) (*BalanceResponse, error) // Transfer moves money from one account to another. The source and destination // accounts can be with this bank (e.g. "local" account numbers) or can be // external accounts, identified by their ACH routing and account numbers. Transfer(context.Context, *TransferRequest) (*TransferResponse, error) } // UnimplementedBankServer can be embedded to have forward compatible implementations. type UnimplementedBankServer struct { } func (*UnimplementedBankServer) OpenAccount(context.Context, *OpenAccountRequest) (*Account, error) { return nil, status.Errorf(codes.Unimplemented, "method OpenAccount not implemented") } func (*UnimplementedBankServer) CloseAccount(context.Context, *CloseAccountRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method CloseAccount not implemented") } func (*UnimplementedBankServer) GetAccounts(context.Context, *emptypb.Empty) (*GetAccountsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccounts not implemented") } func (*UnimplementedBankServer) GetTransactions(*GetTransactionsRequest, Bank_GetTransactionsServer) error { return status.Errorf(codes.Unimplemented, "method GetTransactions not implemented") } func (*UnimplementedBankServer) Deposit(context.Context, *DepositRequest) (*BalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Deposit not implemented") } func (*UnimplementedBankServer) Withdraw(context.Context, *WithdrawRequest) (*BalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Withdraw not implemented") } func (*UnimplementedBankServer) Transfer(context.Context, *TransferRequest) (*TransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Transfer not implemented") } func RegisterBankServer(s *grpc.Server, srv BankServer) { s.RegisterService(&_Bank_serviceDesc, srv) } func _Bank_OpenAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OpenAccountRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(BankServer).OpenAccount(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/Bank/OpenAccount", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(BankServer).OpenAccount(ctx, req.(*OpenAccountRequest)) } return interceptor(ctx, in, info, handler) } func _Bank_CloseAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CloseAccountRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(BankServer).CloseAccount(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/Bank/CloseAccount", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(BankServer).CloseAccount(ctx, req.(*CloseAccountRequest)) } return interceptor(ctx, in, info, handler) } func _Bank_GetAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(BankServer).GetAccounts(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/Bank/GetAccounts", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(BankServer).GetAccounts(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } func _Bank_GetTransactions_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(GetTransactionsRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(BankServer).GetTransactions(m, &bankGetTransactionsServer{stream}) } type Bank_GetTransactionsServer interface { Send(*Transaction) error grpc.ServerStream } type bankGetTransactionsServer struct { grpc.ServerStream } func (x *bankGetTransactionsServer) Send(m *Transaction) error { return x.ServerStream.SendMsg(m) } func _Bank_Deposit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DepositRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(BankServer).Deposit(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/Bank/Deposit", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(BankServer).Deposit(ctx, req.(*DepositRequest)) } return interceptor(ctx, in, info, handler) } func _Bank_Withdraw_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(WithdrawRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(BankServer).Withdraw(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/Bank/Withdraw", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(BankServer).Withdraw(ctx, req.(*WithdrawRequest)) } return interceptor(ctx, in, info, handler) } func _Bank_Transfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TransferRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(BankServer).Transfer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/Bank/Transfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(BankServer).Transfer(ctx, req.(*TransferRequest)) } return interceptor(ctx, in, info, handler) } var _Bank_serviceDesc = grpc.ServiceDesc{ ServiceName: "Bank", HandlerType: (*BankServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "OpenAccount", Handler: _Bank_OpenAccount_Handler, }, { MethodName: "CloseAccount", Handler: _Bank_CloseAccount_Handler, }, { MethodName: "GetAccounts", Handler: _Bank_GetAccounts_Handler, }, { MethodName: "Deposit", Handler: _Bank_Deposit_Handler, }, { MethodName: "Withdraw", Handler: _Bank_Withdraw_Handler, }, { MethodName: "Transfer", Handler: _Bank_Transfer_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "GetTransactions", Handler: _Bank_GetTransactions_Handler, ServerStreams: true, }, }, Metadata: "bank.proto", }