// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.33.1
// source: wallet.proto

package gen

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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)
)

type FundSplitType int32

const (
	FundSplitType_FUND_SPLIT_TYPE_UNSPECIFIED FundSplitType = 0
	FundSplitType_FUND_SPLIT_TYPE_EVEN        FundSplitType = 1
	FundSplitType_FUND_SPLIT_TYPE_RANDOM      FundSplitType = 2
)

// Enum value maps for FundSplitType.
var (
	FundSplitType_name = map[int32]string{
		0: "FUND_SPLIT_TYPE_UNSPECIFIED",
		1: "FUND_SPLIT_TYPE_EVEN",
		2: "FUND_SPLIT_TYPE_RANDOM",
	}
	FundSplitType_value = map[string]int32{
		"FUND_SPLIT_TYPE_UNSPECIFIED": 0,
		"FUND_SPLIT_TYPE_EVEN":        1,
		"FUND_SPLIT_TYPE_RANDOM":      2,
	}
)

func (x FundSplitType) Enum() *FundSplitType {
	p := new(FundSplitType)
	*p = x
	return p
}

func (x FundSplitType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (FundSplitType) Descriptor() protoreflect.EnumDescriptor {
	return file_wallet_proto_enumTypes[0].Descriptor()
}

func (FundSplitType) Type() protoreflect.EnumType {
	return &file_wallet_proto_enumTypes[0]
}

func (x FundSplitType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use FundSplitType.Descriptor instead.
func (FundSplitType) EnumDescriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{0}
}

type FundStatus int32

const (
	FundStatus_FUND_STATUS_UNSPECIFIED        FundStatus = 0
	FundStatus_FUND_STATUS_CREATED            FundStatus = 1
	FundStatus_FUND_STATUS_PARTIALLY_RECEIVED FundStatus = 2
	FundStatus_FUND_STATUS_FULLY_RECEIVED     FundStatus = 3
	FundStatus_FUND_STATUS_EXPIRED            FundStatus = 4
	FundStatus_FUND_STATUS_REFUNDED           FundStatus = 5
)

// Enum value maps for FundStatus.
var (
	FundStatus_name = map[int32]string{
		0: "FUND_STATUS_UNSPECIFIED",
		1: "FUND_STATUS_CREATED",
		2: "FUND_STATUS_PARTIALLY_RECEIVED",
		3: "FUND_STATUS_FULLY_RECEIVED",
		4: "FUND_STATUS_EXPIRED",
		5: "FUND_STATUS_REFUNDED",
	}
	FundStatus_value = map[string]int32{
		"FUND_STATUS_UNSPECIFIED":        0,
		"FUND_STATUS_CREATED":            1,
		"FUND_STATUS_PARTIALLY_RECEIVED": 2,
		"FUND_STATUS_FULLY_RECEIVED":     3,
		"FUND_STATUS_EXPIRED":            4,
		"FUND_STATUS_REFUNDED":           5,
	}
)

func (x FundStatus) Enum() *FundStatus {
	p := new(FundStatus)
	*p = x
	return p
}

func (x FundStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (FundStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_wallet_proto_enumTypes[1].Descriptor()
}

func (FundStatus) Type() protoreflect.EnumType {
	return &file_wallet_proto_enumTypes[1]
}

func (x FundStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use FundStatus.Descriptor instead.
func (FundStatus) EnumDescriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{1}
}

type SubscriptionStatus int32

const (
	// Using proto3 enum naming convention
	SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED SubscriptionStatus = 0
	SubscriptionStatus_SUBSCRIPTION_STATUS_UNPAID      SubscriptionStatus = 1
	SubscriptionStatus_SUBSCRIPTION_STATUS_ACTIVE      SubscriptionStatus = 2
	SubscriptionStatus_SUBSCRIPTION_STATUS_EXPIRED     SubscriptionStatus = 3
	SubscriptionStatus_SUBSCRIPTION_STATUS_CANCELLED   SubscriptionStatus = 4
)

// Enum value maps for SubscriptionStatus.
var (
	SubscriptionStatus_name = map[int32]string{
		0: "SUBSCRIPTION_STATUS_UNSPECIFIED",
		1: "SUBSCRIPTION_STATUS_UNPAID",
		2: "SUBSCRIPTION_STATUS_ACTIVE",
		3: "SUBSCRIPTION_STATUS_EXPIRED",
		4: "SUBSCRIPTION_STATUS_CANCELLED",
	}
	SubscriptionStatus_value = map[string]int32{
		"SUBSCRIPTION_STATUS_UNSPECIFIED": 0,
		"SUBSCRIPTION_STATUS_UNPAID":      1,
		"SUBSCRIPTION_STATUS_ACTIVE":      2,
		"SUBSCRIPTION_STATUS_EXPIRED":     3,
		"SUBSCRIPTION_STATUS_CANCELLED":   4,
	}
)

func (x SubscriptionStatus) Enum() *SubscriptionStatus {
	p := new(SubscriptionStatus)
	*p = x
	return p
}

func (x SubscriptionStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SubscriptionStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_wallet_proto_enumTypes[2].Descriptor()
}

func (SubscriptionStatus) Type() protoreflect.EnumType {
	return &file_wallet_proto_enumTypes[2]
}

func (x SubscriptionStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SubscriptionStatus.Descriptor instead.
func (SubscriptionStatus) EnumDescriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{2}
}

type GiftStatus int32

const (
	// Using proto3 enum naming convention
	GiftStatus_GIFT_STATUS_UNSPECIFIED GiftStatus = 0
	GiftStatus_GIFT_STATUS_CREATED     GiftStatus = 1
	GiftStatus_GIFT_STATUS_SENT        GiftStatus = 2
	GiftStatus_GIFT_STATUS_REDEEMED    GiftStatus = 3
	GiftStatus_GIFT_STATUS_EXPIRED     GiftStatus = 4
	GiftStatus_GIFT_STATUS_CANCELLED   GiftStatus = 5
)

// Enum value maps for GiftStatus.
var (
	GiftStatus_name = map[int32]string{
		0: "GIFT_STATUS_UNSPECIFIED",
		1: "GIFT_STATUS_CREATED",
		2: "GIFT_STATUS_SENT",
		3: "GIFT_STATUS_REDEEMED",
		4: "GIFT_STATUS_EXPIRED",
		5: "GIFT_STATUS_CANCELLED",
	}
	GiftStatus_value = map[string]int32{
		"GIFT_STATUS_UNSPECIFIED": 0,
		"GIFT_STATUS_CREATED":     1,
		"GIFT_STATUS_SENT":        2,
		"GIFT_STATUS_REDEEMED":    3,
		"GIFT_STATUS_EXPIRED":     4,
		"GIFT_STATUS_CANCELLED":   5,
	}
)

func (x GiftStatus) Enum() *GiftStatus {
	p := new(GiftStatus)
	*p = x
	return p
}

func (x GiftStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GiftStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_wallet_proto_enumTypes[3].Descriptor()
}

func (GiftStatus) Type() protoreflect.EnumType {
	return &file_wallet_proto_enumTypes[3]
}

func (x GiftStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GiftStatus.Descriptor instead.
func (GiftStatus) EnumDescriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{3}
}

type OrderStatus int32

const (
	OrderStatus_ORDER_STATUS_UNSPECIFIED OrderStatus = 0
	OrderStatus_ORDER_STATUS_UNPAID      OrderStatus = 1
	OrderStatus_ORDER_STATUS_PAID        OrderStatus = 2
	OrderStatus_ORDER_STATUS_EXPIRED     OrderStatus = 3
	OrderStatus_ORDER_STATUS_CANCELLED   OrderStatus = 4
	OrderStatus_ORDER_STATUS_FINISHED    OrderStatus = 5
)

// Enum value maps for OrderStatus.
var (
	OrderStatus_name = map[int32]string{
		0: "ORDER_STATUS_UNSPECIFIED",
		1: "ORDER_STATUS_UNPAID",
		2: "ORDER_STATUS_PAID",
		3: "ORDER_STATUS_EXPIRED",
		4: "ORDER_STATUS_CANCELLED",
		5: "ORDER_STATUS_FINISHED",
	}
	OrderStatus_value = map[string]int32{
		"ORDER_STATUS_UNSPECIFIED": 0,
		"ORDER_STATUS_UNPAID":      1,
		"ORDER_STATUS_PAID":        2,
		"ORDER_STATUS_EXPIRED":     3,
		"ORDER_STATUS_CANCELLED":   4,
		"ORDER_STATUS_FINISHED":    5,
	}
)

func (x OrderStatus) Enum() *OrderStatus {
	p := new(OrderStatus)
	*p = x
	return p
}

func (x OrderStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (OrderStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_wallet_proto_enumTypes[4].Descriptor()
}

func (OrderStatus) Type() protoreflect.EnumType {
	return &file_wallet_proto_enumTypes[4]
}

func (x OrderStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use OrderStatus.Descriptor instead.
func (OrderStatus) EnumDescriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{4}
}

type TransactionType int32

const (
	TransactionType_TRANSACTION_TYPE_UNSPECIFIED TransactionType = 0
	TransactionType_TRANSACTION_TYPE_SYSTEM      TransactionType = 1
	TransactionType_TRANSACTION_TYPE_ORDER       TransactionType = 2
	TransactionType_TRANSACTION_TYPE_TRANSFER    TransactionType = 3
)

// Enum value maps for TransactionType.
var (
	TransactionType_name = map[int32]string{
		0: "TRANSACTION_TYPE_UNSPECIFIED",
		1: "TRANSACTION_TYPE_SYSTEM",
		2: "TRANSACTION_TYPE_ORDER",
		3: "TRANSACTION_TYPE_TRANSFER",
	}
	TransactionType_value = map[string]int32{
		"TRANSACTION_TYPE_UNSPECIFIED": 0,
		"TRANSACTION_TYPE_SYSTEM":      1,
		"TRANSACTION_TYPE_ORDER":       2,
		"TRANSACTION_TYPE_TRANSFER":    3,
	}
)

func (x TransactionType) Enum() *TransactionType {
	p := new(TransactionType)
	*p = x
	return p
}

func (x TransactionType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TransactionType) Descriptor() protoreflect.EnumDescriptor {
	return file_wallet_proto_enumTypes[5].Descriptor()
}

func (TransactionType) Type() protoreflect.EnumType {
	return &file_wallet_proto_enumTypes[5]
}

func (x TransactionType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TransactionType.Descriptor instead.
func (TransactionType) EnumDescriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{5}
}

type Wallet struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Pockets       []*WalletPocket        `protobuf:"bytes,2,rep,name=pockets,proto3" json:"pockets,omitempty"`
	AccountId     string                 `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Wallet) Reset() {
	*x = Wallet{}
	mi := &file_wallet_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Wallet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Wallet) ProtoMessage() {}

func (x *Wallet) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Wallet.ProtoReflect.Descriptor instead.
func (*Wallet) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{0}
}

func (x *Wallet) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Wallet) GetPockets() []*WalletPocket {
	if x != nil {
		return x.Pockets
	}
	return nil
}

func (x *Wallet) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

type WalletPocket struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Id       string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Currency string                 `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency,omitempty"`
	// Using string for decimal to avoid precision loss.
	Amount        string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	WalletId      string `protobuf:"bytes,4,opt,name=wallet_id,json=walletId,proto3" json:"wallet_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WalletPocket) Reset() {
	*x = WalletPocket{}
	mi := &file_wallet_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WalletPocket) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WalletPocket) ProtoMessage() {}

func (x *WalletPocket) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WalletPocket.ProtoReflect.Descriptor instead.
func (*WalletPocket) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{1}
}

func (x *WalletPocket) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *WalletPocket) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *WalletPocket) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *WalletPocket) GetWalletId() string {
	if x != nil {
		return x.WalletId
	}
	return ""
}

type WalletFund struct {
	state            protoimpl.MessageState  `protogen:"open.v1"`
	Id               string                  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Currency         string                  `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency,omitempty"`
	TotalAmount      string                  `protobuf:"bytes,3,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"`
	RemainingAmount  string                  `protobuf:"bytes,10,opt,name=remaining_amount,json=remainingAmount,proto3" json:"remaining_amount,omitempty"`
	SplitType        FundSplitType           `protobuf:"varint,4,opt,name=split_type,json=splitType,proto3,enum=proto.FundSplitType" json:"split_type,omitempty"`
	Status           FundStatus              `protobuf:"varint,5,opt,name=status,proto3,enum=proto.FundStatus" json:"status,omitempty"`
	Message          *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"`
	CreatorAccountId string                  `protobuf:"bytes,7,opt,name=creator_account_id,json=creatorAccountId,proto3" json:"creator_account_id,omitempty"`
	ExpiredAt        *timestamppb.Timestamp  `protobuf:"bytes,8,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"`
	Recipients       []*WalletFundRecipient  `protobuf:"bytes,9,rep,name=recipients,proto3" json:"recipients,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *WalletFund) Reset() {
	*x = WalletFund{}
	mi := &file_wallet_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WalletFund) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WalletFund) ProtoMessage() {}

func (x *WalletFund) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WalletFund.ProtoReflect.Descriptor instead.
func (*WalletFund) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{2}
}

func (x *WalletFund) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *WalletFund) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *WalletFund) GetTotalAmount() string {
	if x != nil {
		return x.TotalAmount
	}
	return ""
}

func (x *WalletFund) GetRemainingAmount() string {
	if x != nil {
		return x.RemainingAmount
	}
	return ""
}

func (x *WalletFund) GetSplitType() FundSplitType {
	if x != nil {
		return x.SplitType
	}
	return FundSplitType_FUND_SPLIT_TYPE_UNSPECIFIED
}

func (x *WalletFund) GetStatus() FundStatus {
	if x != nil {
		return x.Status
	}
	return FundStatus_FUND_STATUS_UNSPECIFIED
}

func (x *WalletFund) GetMessage() *wrapperspb.StringValue {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *WalletFund) GetCreatorAccountId() string {
	if x != nil {
		return x.CreatorAccountId
	}
	return ""
}

func (x *WalletFund) GetExpiredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiredAt
	}
	return nil
}

func (x *WalletFund) GetRecipients() []*WalletFundRecipient {
	if x != nil {
		return x.Recipients
	}
	return nil
}

type WalletFundRecipient struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Id                 string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	FundId             string                 `protobuf:"bytes,2,opt,name=fund_id,json=fundId,proto3" json:"fund_id,omitempty"`
	RecipientAccountId string                 `protobuf:"bytes,3,opt,name=recipient_account_id,json=recipientAccountId,proto3" json:"recipient_account_id,omitempty"`
	Amount             string                 `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	IsReceived         bool                   `protobuf:"varint,5,opt,name=is_received,json=isReceived,proto3" json:"is_received,omitempty"`
	ReceivedAt         *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=received_at,json=receivedAt,proto3,oneof" json:"received_at,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *WalletFundRecipient) Reset() {
	*x = WalletFundRecipient{}
	mi := &file_wallet_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WalletFundRecipient) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WalletFundRecipient) ProtoMessage() {}

func (x *WalletFundRecipient) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WalletFundRecipient.ProtoReflect.Descriptor instead.
func (*WalletFundRecipient) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{3}
}

func (x *WalletFundRecipient) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *WalletFundRecipient) GetFundId() string {
	if x != nil {
		return x.FundId
	}
	return ""
}

func (x *WalletFundRecipient) GetRecipientAccountId() string {
	if x != nil {
		return x.RecipientAccountId
	}
	return ""
}

func (x *WalletFundRecipient) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *WalletFundRecipient) GetIsReceived() bool {
	if x != nil {
		return x.IsReceived
	}
	return false
}

func (x *WalletFundRecipient) GetReceivedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ReceivedAt
	}
	return nil
}

type Subscription struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Id             string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	BegunAt        *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=begun_at,json=begunAt,proto3" json:"begun_at,omitempty"`
	EndedAt        *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=ended_at,json=endedAt,proto3,oneof" json:"ended_at,omitempty"`
	Identifier     string                 `protobuf:"bytes,4,opt,name=identifier,proto3" json:"identifier,omitempty"`
	IsActive       bool                   `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	IsFreeTrial    bool                   `protobuf:"varint,6,opt,name=is_free_trial,json=isFreeTrial,proto3" json:"is_free_trial,omitempty"`
	Status         SubscriptionStatus     `protobuf:"varint,7,opt,name=status,proto3,enum=proto.SubscriptionStatus" json:"status,omitempty"`
	PaymentMethod  string                 `protobuf:"bytes,8,opt,name=payment_method,json=paymentMethod,proto3" json:"payment_method,omitempty"`
	PaymentDetails *PaymentDetails        `protobuf:"bytes,9,opt,name=payment_details,json=paymentDetails,proto3" json:"payment_details,omitempty"`
	// Using string for decimal to avoid precision loss.
	BasePrice   string                 `protobuf:"bytes,10,opt,name=base_price,json=basePrice,proto3" json:"base_price,omitempty"`
	CouponId    *string                `protobuf:"bytes,11,opt,name=coupon_id,json=couponId,proto3,oneof" json:"coupon_id,omitempty"`
	Coupon      *Coupon                `protobuf:"bytes,12,opt,name=coupon,proto3,oneof" json:"coupon,omitempty"`
	RenewalAt   *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=renewal_at,json=renewalAt,proto3,oneof" json:"renewal_at,omitempty"`
	AccountId   string                 `protobuf:"bytes,14,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	IsAvailable bool                   `protobuf:"varint,15,opt,name=is_available,json=isAvailable,proto3" json:"is_available,omitempty"`
	// Using string for decimal to avoid precision loss.
	FinalPrice    string                 `protobuf:"bytes,16,opt,name=final_price,json=finalPrice,proto3" json:"final_price,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt     *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Subscription) Reset() {
	*x = Subscription{}
	mi := &file_wallet_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Subscription) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Subscription) ProtoMessage() {}

func (x *Subscription) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Subscription.ProtoReflect.Descriptor instead.
func (*Subscription) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{4}
}

func (x *Subscription) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Subscription) GetBegunAt() *timestamppb.Timestamp {
	if x != nil {
		return x.BegunAt
	}
	return nil
}

func (x *Subscription) GetEndedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.EndedAt
	}
	return nil
}

func (x *Subscription) GetIdentifier() string {
	if x != nil {
		return x.Identifier
	}
	return ""
}

func (x *Subscription) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *Subscription) GetIsFreeTrial() bool {
	if x != nil {
		return x.IsFreeTrial
	}
	return false
}

func (x *Subscription) GetStatus() SubscriptionStatus {
	if x != nil {
		return x.Status
	}
	return SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED
}

func (x *Subscription) GetPaymentMethod() string {
	if x != nil {
		return x.PaymentMethod
	}
	return ""
}

func (x *Subscription) GetPaymentDetails() *PaymentDetails {
	if x != nil {
		return x.PaymentDetails
	}
	return nil
}

func (x *Subscription) GetBasePrice() string {
	if x != nil {
		return x.BasePrice
	}
	return ""
}

func (x *Subscription) GetCouponId() string {
	if x != nil && x.CouponId != nil {
		return *x.CouponId
	}
	return ""
}

func (x *Subscription) GetCoupon() *Coupon {
	if x != nil {
		return x.Coupon
	}
	return nil
}

func (x *Subscription) GetRenewalAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RenewalAt
	}
	return nil
}

func (x *Subscription) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

func (x *Subscription) GetIsAvailable() bool {
	if x != nil {
		return x.IsAvailable
	}
	return false
}

func (x *Subscription) GetFinalPrice() string {
	if x != nil {
		return x.FinalPrice
	}
	return ""
}

func (x *Subscription) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Subscription) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type SubscriptionReferenceObject struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Id          string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Identifier  string                 `protobuf:"bytes,2,opt,name=identifier,proto3" json:"identifier,omitempty"`
	BegunAt     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=begun_at,json=begunAt,proto3" json:"begun_at,omitempty"`
	EndedAt     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=ended_at,json=endedAt,proto3,oneof" json:"ended_at,omitempty"`
	IsActive    bool                   `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	IsAvailable bool                   `protobuf:"varint,6,opt,name=is_available,json=isAvailable,proto3" json:"is_available,omitempty"`
	IsFreeTrial bool                   `protobuf:"varint,7,opt,name=is_free_trial,json=isFreeTrial,proto3" json:"is_free_trial,omitempty"`
	Status      SubscriptionStatus     `protobuf:"varint,8,opt,name=status,proto3,enum=proto.SubscriptionStatus" json:"status,omitempty"`
	// Using string for decimal to avoid precision loss.
	BasePrice string `protobuf:"bytes,9,opt,name=base_price,json=basePrice,proto3" json:"base_price,omitempty"`
	// Using string for decimal to avoid precision loss.
	FinalPrice    string                 `protobuf:"bytes,10,opt,name=final_price,json=finalPrice,proto3" json:"final_price,omitempty"`
	RenewalAt     *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=renewal_at,json=renewalAt,proto3,oneof" json:"renewal_at,omitempty"`
	AccountId     string                 `protobuf:"bytes,12,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	DisplayName   *string                `protobuf:"bytes,13,opt,name=display_name,json=displayName,proto3,oneof" json:"display_name,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt     *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubscriptionReferenceObject) Reset() {
	*x = SubscriptionReferenceObject{}
	mi := &file_wallet_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SubscriptionReferenceObject) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscriptionReferenceObject) ProtoMessage() {}

func (x *SubscriptionReferenceObject) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscriptionReferenceObject.ProtoReflect.Descriptor instead.
func (*SubscriptionReferenceObject) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{5}
}

func (x *SubscriptionReferenceObject) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SubscriptionReferenceObject) GetIdentifier() string {
	if x != nil {
		return x.Identifier
	}
	return ""
}

func (x *SubscriptionReferenceObject) GetBegunAt() *timestamppb.Timestamp {
	if x != nil {
		return x.BegunAt
	}
	return nil
}

func (x *SubscriptionReferenceObject) GetEndedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.EndedAt
	}
	return nil
}

func (x *SubscriptionReferenceObject) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *SubscriptionReferenceObject) GetIsAvailable() bool {
	if x != nil {
		return x.IsAvailable
	}
	return false
}

func (x *SubscriptionReferenceObject) GetIsFreeTrial() bool {
	if x != nil {
		return x.IsFreeTrial
	}
	return false
}

func (x *SubscriptionReferenceObject) GetStatus() SubscriptionStatus {
	if x != nil {
		return x.Status
	}
	return SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED
}

func (x *SubscriptionReferenceObject) GetBasePrice() string {
	if x != nil {
		return x.BasePrice
	}
	return ""
}

func (x *SubscriptionReferenceObject) GetFinalPrice() string {
	if x != nil {
		return x.FinalPrice
	}
	return ""
}

func (x *SubscriptionReferenceObject) GetRenewalAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RenewalAt
	}
	return nil
}

func (x *SubscriptionReferenceObject) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

func (x *SubscriptionReferenceObject) GetDisplayName() string {
	if x != nil && x.DisplayName != nil {
		return *x.DisplayName
	}
	return ""
}

func (x *SubscriptionReferenceObject) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *SubscriptionReferenceObject) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type PaymentDetails struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Currency      string                 `protobuf:"bytes,1,opt,name=currency,proto3" json:"currency,omitempty"`
	OrderId       *string                `protobuf:"bytes,2,opt,name=order_id,json=orderId,proto3,oneof" json:"order_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PaymentDetails) Reset() {
	*x = PaymentDetails{}
	mi := &file_wallet_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PaymentDetails) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PaymentDetails) ProtoMessage() {}

func (x *PaymentDetails) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PaymentDetails.ProtoReflect.Descriptor instead.
func (*PaymentDetails) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{6}
}

func (x *PaymentDetails) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *PaymentDetails) GetOrderId() string {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return ""
}

type Coupon struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	Id         string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Identifier *string                `protobuf:"bytes,2,opt,name=identifier,proto3,oneof" json:"identifier,omitempty"`
	Code       *string                `protobuf:"bytes,3,opt,name=code,proto3,oneof" json:"code,omitempty"`
	AffectedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=affected_at,json=affectedAt,proto3,oneof" json:"affected_at,omitempty"`
	ExpiredAt  *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expired_at,json=expiredAt,proto3,oneof" json:"expired_at,omitempty"`
	// Using string for decimal to avoid precision loss.
	DiscountAmount *string                 `protobuf:"bytes,6,opt,name=discount_amount,json=discountAmount,proto3,oneof" json:"discount_amount,omitempty"`
	DiscountRate   *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=discount_rate,json=discountRate,proto3,oneof" json:"discount_rate,omitempty"`
	MaxUsage       *wrapperspb.Int32Value  `protobuf:"bytes,8,opt,name=max_usage,json=maxUsage,proto3,oneof" json:"max_usage,omitempty"`
	CreatedAt      *timestamppb.Timestamp  `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt      *timestamppb.Timestamp  `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Coupon) Reset() {
	*x = Coupon{}
	mi := &file_wallet_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Coupon) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Coupon) ProtoMessage() {}

func (x *Coupon) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Coupon.ProtoReflect.Descriptor instead.
func (*Coupon) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{7}
}

func (x *Coupon) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Coupon) GetIdentifier() string {
	if x != nil && x.Identifier != nil {
		return *x.Identifier
	}
	return ""
}

func (x *Coupon) GetCode() string {
	if x != nil && x.Code != nil {
		return *x.Code
	}
	return ""
}

func (x *Coupon) GetAffectedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.AffectedAt
	}
	return nil
}

func (x *Coupon) GetExpiredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiredAt
	}
	return nil
}

func (x *Coupon) GetDiscountAmount() string {
	if x != nil && x.DiscountAmount != nil {
		return *x.DiscountAmount
	}
	return ""
}

func (x *Coupon) GetDiscountRate() *wrapperspb.DoubleValue {
	if x != nil {
		return x.DiscountRate
	}
	return nil
}

func (x *Coupon) GetMaxUsage() *wrapperspb.Int32Value {
	if x != nil {
		return x.MaxUsage
	}
	return nil
}

func (x *Coupon) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Coupon) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type Gift struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	Id                     string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	GifterId               string                 `protobuf:"bytes,2,opt,name=gifter_id,json=gifterId,proto3" json:"gifter_id,omitempty"`
	RecipientId            *string                `protobuf:"bytes,3,opt,name=recipient_id,json=recipientId,proto3,oneof" json:"recipient_id,omitempty"`
	GiftCode               string                 `protobuf:"bytes,4,opt,name=gift_code,json=giftCode,proto3" json:"gift_code,omitempty"`
	Message                *string                `protobuf:"bytes,5,opt,name=message,proto3,oneof" json:"message,omitempty"`
	SubscriptionIdentifier string                 `protobuf:"bytes,6,opt,name=subscription_identifier,json=subscriptionIdentifier,proto3" json:"subscription_identifier,omitempty"`
	BasePrice              string                 `protobuf:"bytes,7,opt,name=base_price,json=basePrice,proto3" json:"base_price,omitempty"`
	FinalPrice             string                 `protobuf:"bytes,8,opt,name=final_price,json=finalPrice,proto3" json:"final_price,omitempty"`
	Status                 GiftStatus             `protobuf:"varint,9,opt,name=status,proto3,enum=proto.GiftStatus" json:"status,omitempty"`
	RedeemedAt             *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=redeemed_at,json=redeemedAt,proto3,oneof" json:"redeemed_at,omitempty"`
	RedeemerId             *string                `protobuf:"bytes,11,opt,name=redeemer_id,json=redeemerId,proto3,oneof" json:"redeemer_id,omitempty"`
	SubscriptionId         *string                `protobuf:"bytes,12,opt,name=subscription_id,json=subscriptionId,proto3,oneof" json:"subscription_id,omitempty"`
	ExpiresAt              *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	IsOpenGift             bool                   `protobuf:"varint,14,opt,name=is_open_gift,json=isOpenGift,proto3" json:"is_open_gift,omitempty"`
	PaymentMethod          string                 `protobuf:"bytes,15,opt,name=payment_method,json=paymentMethod,proto3" json:"payment_method,omitempty"`
	PaymentDetails         *PaymentDetails        `protobuf:"bytes,16,opt,name=payment_details,json=paymentDetails,proto3" json:"payment_details,omitempty"`
	CouponId               *string                `protobuf:"bytes,17,opt,name=coupon_id,json=couponId,proto3,oneof" json:"coupon_id,omitempty"`
	Coupon                 *Coupon                `protobuf:"bytes,18,opt,name=coupon,proto3,oneof" json:"coupon,omitempty"`
	IsRedeemable           bool                   `protobuf:"varint,19,opt,name=is_redeemable,json=isRedeemable,proto3" json:"is_redeemable,omitempty"`
	IsExpired              bool                   `protobuf:"varint,20,opt,name=is_expired,json=isExpired,proto3" json:"is_expired,omitempty"`
	CreatedAt              *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt              *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Gift) Reset() {
	*x = Gift{}
	mi := &file_wallet_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Gift) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Gift) ProtoMessage() {}

func (x *Gift) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Gift.ProtoReflect.Descriptor instead.
func (*Gift) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{8}
}

func (x *Gift) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Gift) GetGifterId() string {
	if x != nil {
		return x.GifterId
	}
	return ""
}

func (x *Gift) GetRecipientId() string {
	if x != nil && x.RecipientId != nil {
		return *x.RecipientId
	}
	return ""
}

func (x *Gift) GetGiftCode() string {
	if x != nil {
		return x.GiftCode
	}
	return ""
}

func (x *Gift) GetMessage() string {
	if x != nil && x.Message != nil {
		return *x.Message
	}
	return ""
}

func (x *Gift) GetSubscriptionIdentifier() string {
	if x != nil {
		return x.SubscriptionIdentifier
	}
	return ""
}

func (x *Gift) GetBasePrice() string {
	if x != nil {
		return x.BasePrice
	}
	return ""
}

func (x *Gift) GetFinalPrice() string {
	if x != nil {
		return x.FinalPrice
	}
	return ""
}

func (x *Gift) GetStatus() GiftStatus {
	if x != nil {
		return x.Status
	}
	return GiftStatus_GIFT_STATUS_UNSPECIFIED
}

func (x *Gift) GetRedeemedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RedeemedAt
	}
	return nil
}

func (x *Gift) GetRedeemerId() string {
	if x != nil && x.RedeemerId != nil {
		return *x.RedeemerId
	}
	return ""
}

func (x *Gift) GetSubscriptionId() string {
	if x != nil && x.SubscriptionId != nil {
		return *x.SubscriptionId
	}
	return ""
}

func (x *Gift) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

func (x *Gift) GetIsOpenGift() bool {
	if x != nil {
		return x.IsOpenGift
	}
	return false
}

func (x *Gift) GetPaymentMethod() string {
	if x != nil {
		return x.PaymentMethod
	}
	return ""
}

func (x *Gift) GetPaymentDetails() *PaymentDetails {
	if x != nil {
		return x.PaymentDetails
	}
	return nil
}

func (x *Gift) GetCouponId() string {
	if x != nil && x.CouponId != nil {
		return *x.CouponId
	}
	return ""
}

func (x *Gift) GetCoupon() *Coupon {
	if x != nil {
		return x.Coupon
	}
	return nil
}

func (x *Gift) GetIsRedeemable() bool {
	if x != nil {
		return x.IsRedeemable
	}
	return false
}

func (x *Gift) GetIsExpired() bool {
	if x != nil {
		return x.IsExpired
	}
	return false
}

func (x *Gift) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Gift) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type GetWalletRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AccountId     string                 `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWalletRequest) Reset() {
	*x = GetWalletRequest{}
	mi := &file_wallet_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWalletRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWalletRequest) ProtoMessage() {}

func (x *GetWalletRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWalletRequest.ProtoReflect.Descriptor instead.
func (*GetWalletRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{9}
}

func (x *GetWalletRequest) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

type CreateWalletRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AccountId     string                 `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateWalletRequest) Reset() {
	*x = CreateWalletRequest{}
	mi := &file_wallet_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateWalletRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateWalletRequest) ProtoMessage() {}

func (x *CreateWalletRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateWalletRequest.ProtoReflect.Descriptor instead.
func (*CreateWalletRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{10}
}

func (x *CreateWalletRequest) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

type GetOrCreateWalletPocketRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	WalletId      string                 `protobuf:"bytes,1,opt,name=wallet_id,json=walletId,proto3" json:"wallet_id,omitempty"`
	Currency      string                 `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency,omitempty"`
	InitialAmount *string                `protobuf:"bytes,3,opt,name=initial_amount,json=initialAmount,proto3,oneof" json:"initial_amount,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetOrCreateWalletPocketRequest) Reset() {
	*x = GetOrCreateWalletPocketRequest{}
	mi := &file_wallet_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetOrCreateWalletPocketRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetOrCreateWalletPocketRequest) ProtoMessage() {}

func (x *GetOrCreateWalletPocketRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetOrCreateWalletPocketRequest.ProtoReflect.Descriptor instead.
func (*GetOrCreateWalletPocketRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{11}
}

func (x *GetOrCreateWalletPocketRequest) GetWalletId() string {
	if x != nil {
		return x.WalletId
	}
	return ""
}

func (x *GetOrCreateWalletPocketRequest) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *GetOrCreateWalletPocketRequest) GetInitialAmount() string {
	if x != nil && x.InitialAmount != nil {
		return *x.InitialAmount
	}
	return ""
}

type CreateOrderRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	PayeeWalletId     *string                `protobuf:"bytes,1,opt,name=payee_wallet_id,json=payeeWalletId,proto3,oneof" json:"payee_wallet_id,omitempty"`
	Currency          string                 `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency,omitempty"`
	Amount            string                 `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	Expiration        *durationpb.Duration   `protobuf:"bytes,4,opt,name=expiration,proto3,oneof" json:"expiration,omitempty"`
	AppIdentifier     *string                `protobuf:"bytes,5,opt,name=app_identifier,json=appIdentifier,proto3,oneof" json:"app_identifier,omitempty"`
	ProductIdentifier *string                `protobuf:"bytes,8,opt,name=product_identifier,json=productIdentifier,proto3,oneof" json:"product_identifier,omitempty"`
	// Using bytes for meta to represent JSON.
	Meta          []byte  `protobuf:"bytes,6,opt,name=meta,proto3,oneof" json:"meta,omitempty"`
	Remarks       *string `protobuf:"bytes,9,opt,name=remarks,proto3,oneof" json:"remarks,omitempty"`
	Reuseable     bool    `protobuf:"varint,7,opt,name=reuseable,proto3" json:"reuseable,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateOrderRequest) Reset() {
	*x = CreateOrderRequest{}
	mi := &file_wallet_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateOrderRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateOrderRequest) ProtoMessage() {}

func (x *CreateOrderRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateOrderRequest.ProtoReflect.Descriptor instead.
func (*CreateOrderRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{12}
}

func (x *CreateOrderRequest) GetPayeeWalletId() string {
	if x != nil && x.PayeeWalletId != nil {
		return *x.PayeeWalletId
	}
	return ""
}

func (x *CreateOrderRequest) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *CreateOrderRequest) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *CreateOrderRequest) GetExpiration() *durationpb.Duration {
	if x != nil {
		return x.Expiration
	}
	return nil
}

func (x *CreateOrderRequest) GetAppIdentifier() string {
	if x != nil && x.AppIdentifier != nil {
		return *x.AppIdentifier
	}
	return ""
}

func (x *CreateOrderRequest) GetProductIdentifier() string {
	if x != nil && x.ProductIdentifier != nil {
		return *x.ProductIdentifier
	}
	return ""
}

func (x *CreateOrderRequest) GetMeta() []byte {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CreateOrderRequest) GetRemarks() string {
	if x != nil && x.Remarks != nil {
		return *x.Remarks
	}
	return ""
}

func (x *CreateOrderRequest) GetReuseable() bool {
	if x != nil {
		return x.Reuseable
	}
	return false
}

type Order struct {
	state             protoimpl.MessageState  `protogen:"open.v1"`
	Id                string                  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	PayeeWalletId     *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=payee_wallet_id,json=payeeWalletId,proto3" json:"payee_wallet_id,omitempty"`
	Currency          *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency,omitempty"`
	Amount            string                  `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	ExpiredAt         *timestamppb.Timestamp  `protobuf:"bytes,5,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"`
	AppIdentifier     *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=app_identifier,json=appIdentifier,proto3" json:"app_identifier,omitempty"`
	ProductIdentifier *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=product_identifier,json=productIdentifier,proto3" json:"product_identifier,omitempty"`
	// Using bytes for meta to represent JSON.
	Meta          []byte                  `protobuf:"bytes,7,opt,name=meta,proto3,oneof" json:"meta,omitempty"`
	Status        OrderStatus             `protobuf:"varint,8,opt,name=status,proto3,enum=proto.OrderStatus" json:"status,omitempty"`
	TransactionId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
	Transaction   *Transaction            `protobuf:"bytes,10,opt,name=transaction,proto3,oneof" json:"transaction,omitempty"`
	Remarks       *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=remarks,proto3" json:"remarks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Order) Reset() {
	*x = Order{}
	mi := &file_wallet_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Order) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Order) ProtoMessage() {}

func (x *Order) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Order.ProtoReflect.Descriptor instead.
func (*Order) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{13}
}

func (x *Order) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Order) GetPayeeWalletId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayeeWalletId
	}
	return nil
}

func (x *Order) GetCurrency() *wrapperspb.StringValue {
	if x != nil {
		return x.Currency
	}
	return nil
}

func (x *Order) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *Order) GetExpiredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiredAt
	}
	return nil
}

func (x *Order) GetAppIdentifier() *wrapperspb.StringValue {
	if x != nil {
		return x.AppIdentifier
	}
	return nil
}

func (x *Order) GetProductIdentifier() *wrapperspb.StringValue {
	if x != nil {
		return x.ProductIdentifier
	}
	return nil
}

func (x *Order) GetMeta() []byte {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *Order) GetStatus() OrderStatus {
	if x != nil {
		return x.Status
	}
	return OrderStatus_ORDER_STATUS_UNSPECIFIED
}

func (x *Order) GetTransactionId() *wrapperspb.StringValue {
	if x != nil {
		return x.TransactionId
	}
	return nil
}

func (x *Order) GetTransaction() *Transaction {
	if x != nil {
		return x.Transaction
	}
	return nil
}

func (x *Order) GetRemarks() *wrapperspb.StringValue {
	if x != nil {
		return x.Remarks
	}
	return nil
}

type Transaction struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Id            string                  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	PayerWalletId *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=payer_wallet_id,json=payerWalletId,proto3" json:"payer_wallet_id,omitempty"`
	PayeeWalletId *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=payee_wallet_id,json=payeeWalletId,proto3" json:"payee_wallet_id,omitempty"`
	Currency      string                  `protobuf:"bytes,4,opt,name=currency,proto3" json:"currency,omitempty"`
	Amount        string                  `protobuf:"bytes,5,opt,name=amount,proto3" json:"amount,omitempty"`
	Remarks       *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=remarks,proto3" json:"remarks,omitempty"`
	Type          TransactionType         `protobuf:"varint,7,opt,name=type,proto3,enum=proto.TransactionType" json:"type,omitempty"`
	CreatedAt     *timestamppb.Timestamp  `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt     *timestamppb.Timestamp  `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Transaction) Reset() {
	*x = Transaction{}
	mi := &file_wallet_proto_msgTypes[14]
	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_wallet_proto_msgTypes[14]
	if 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_wallet_proto_rawDescGZIP(), []int{14}
}

func (x *Transaction) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Transaction) GetPayerWalletId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayerWalletId
	}
	return nil
}

func (x *Transaction) GetPayeeWalletId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayeeWalletId
	}
	return nil
}

func (x *Transaction) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *Transaction) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *Transaction) GetRemarks() *wrapperspb.StringValue {
	if x != nil {
		return x.Remarks
	}
	return nil
}

func (x *Transaction) GetType() TransactionType {
	if x != nil {
		return x.Type
	}
	return TransactionType_TRANSACTION_TYPE_UNSPECIFIED
}

func (x *Transaction) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Transaction) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type CreateTransactionWithAccountRequest struct {
	state          protoimpl.MessageState  `protogen:"open.v1"`
	PayerAccountId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=payer_account_id,json=payerAccountId,proto3" json:"payer_account_id,omitempty"`
	PayeeAccountId *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=payee_account_id,json=payeeAccountId,proto3" json:"payee_account_id,omitempty"`
	Currency       string                  `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency,omitempty"`
	Amount         string                  `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	Remarks        *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=remarks,proto3" json:"remarks,omitempty"`
	Type           TransactionType         `protobuf:"varint,6,opt,name=type,proto3,enum=proto.TransactionType" json:"type,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CreateTransactionWithAccountRequest) Reset() {
	*x = CreateTransactionWithAccountRequest{}
	mi := &file_wallet_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateTransactionWithAccountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateTransactionWithAccountRequest) ProtoMessage() {}

func (x *CreateTransactionWithAccountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateTransactionWithAccountRequest.ProtoReflect.Descriptor instead.
func (*CreateTransactionWithAccountRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{15}
}

func (x *CreateTransactionWithAccountRequest) GetPayerAccountId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayerAccountId
	}
	return nil
}

func (x *CreateTransactionWithAccountRequest) GetPayeeAccountId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayeeAccountId
	}
	return nil
}

func (x *CreateTransactionWithAccountRequest) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *CreateTransactionWithAccountRequest) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *CreateTransactionWithAccountRequest) GetRemarks() *wrapperspb.StringValue {
	if x != nil {
		return x.Remarks
	}
	return nil
}

func (x *CreateTransactionWithAccountRequest) GetType() TransactionType {
	if x != nil {
		return x.Type
	}
	return TransactionType_TRANSACTION_TYPE_UNSPECIFIED
}

type CreateTransactionRequest struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	PayerWalletId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=payer_wallet_id,json=payerWalletId,proto3" json:"payer_wallet_id,omitempty"`
	PayeeWalletId *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=payee_wallet_id,json=payeeWalletId,proto3" json:"payee_wallet_id,omitempty"`
	Currency      string                  `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency,omitempty"`
	Amount        string                  `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	Remarks       *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=remarks,proto3" json:"remarks,omitempty"`
	Type          TransactionType         `protobuf:"varint,6,opt,name=type,proto3,enum=proto.TransactionType" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateTransactionRequest) Reset() {
	*x = CreateTransactionRequest{}
	mi := &file_wallet_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateTransactionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateTransactionRequest) ProtoMessage() {}

func (x *CreateTransactionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateTransactionRequest.ProtoReflect.Descriptor instead.
func (*CreateTransactionRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{16}
}

func (x *CreateTransactionRequest) GetPayerWalletId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayerWalletId
	}
	return nil
}

func (x *CreateTransactionRequest) GetPayeeWalletId() *wrapperspb.StringValue {
	if x != nil {
		return x.PayeeWalletId
	}
	return nil
}

func (x *CreateTransactionRequest) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *CreateTransactionRequest) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

func (x *CreateTransactionRequest) GetRemarks() *wrapperspb.StringValue {
	if x != nil {
		return x.Remarks
	}
	return nil
}

func (x *CreateTransactionRequest) GetType() TransactionType {
	if x != nil {
		return x.Type
	}
	return TransactionType_TRANSACTION_TYPE_UNSPECIFIED
}

type CancelOrderRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	OrderId       string                 `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CancelOrderRequest) Reset() {
	*x = CancelOrderRequest{}
	mi := &file_wallet_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CancelOrderRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelOrderRequest) ProtoMessage() {}

func (x *CancelOrderRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelOrderRequest.ProtoReflect.Descriptor instead.
func (*CancelOrderRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{17}
}

func (x *CancelOrderRequest) GetOrderId() string {
	if x != nil {
		return x.OrderId
	}
	return ""
}

type RefundOrderRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	OrderId       string                 `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RefundOrderRequest) Reset() {
	*x = RefundOrderRequest{}
	mi := &file_wallet_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RefundOrderRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefundOrderRequest) ProtoMessage() {}

func (x *RefundOrderRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefundOrderRequest.ProtoReflect.Descriptor instead.
func (*RefundOrderRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{18}
}

func (x *RefundOrderRequest) GetOrderId() string {
	if x != nil {
		return x.OrderId
	}
	return ""
}

type RefundOrderResponse struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Order             *Order                 `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"`
	RefundTransaction *Transaction           `protobuf:"bytes,2,opt,name=refund_transaction,json=refundTransaction,proto3" json:"refund_transaction,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *RefundOrderResponse) Reset() {
	*x = RefundOrderResponse{}
	mi := &file_wallet_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RefundOrderResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefundOrderResponse) ProtoMessage() {}

func (x *RefundOrderResponse) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefundOrderResponse.ProtoReflect.Descriptor instead.
func (*RefundOrderResponse) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{19}
}

func (x *RefundOrderResponse) GetOrder() *Order {
	if x != nil {
		return x.Order
	}
	return nil
}

func (x *RefundOrderResponse) GetRefundTransaction() *Transaction {
	if x != nil {
		return x.RefundTransaction
	}
	return nil
}

type TransferRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	PayerAccountId string                 `protobuf:"bytes,1,opt,name=payer_account_id,json=payerAccountId,proto3" json:"payer_account_id,omitempty"`
	PayeeAccountId string                 `protobuf:"bytes,2,opt,name=payee_account_id,json=payeeAccountId,proto3" json:"payee_account_id,omitempty"`
	Currency       string                 `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency,omitempty"`
	Amount         string                 `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *TransferRequest) Reset() {
	*x = TransferRequest{}
	mi := &file_wallet_proto_msgTypes[20]
	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_wallet_proto_msgTypes[20]
	if 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_wallet_proto_rawDescGZIP(), []int{20}
}

func (x *TransferRequest) GetPayerAccountId() string {
	if x != nil {
		return x.PayerAccountId
	}
	return ""
}

func (x *TransferRequest) GetPayeeAccountId() string {
	if x != nil {
		return x.PayeeAccountId
	}
	return ""
}

func (x *TransferRequest) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *TransferRequest) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

type GetWalletFundRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FundId        string                 `protobuf:"bytes,1,opt,name=fund_id,json=fundId,proto3" json:"fund_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWalletFundRequest) Reset() {
	*x = GetWalletFundRequest{}
	mi := &file_wallet_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWalletFundRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWalletFundRequest) ProtoMessage() {}

func (x *GetWalletFundRequest) ProtoReflect() protoreflect.Message {
	mi := &file_wallet_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWalletFundRequest.ProtoReflect.Descriptor instead.
func (*GetWalletFundRequest) Descriptor() ([]byte, []int) {
	return file_wallet_proto_rawDescGZIP(), []int{21}
}

func (x *GetWalletFundRequest) GetFundId() string {
	if x != nil {
		return x.FundId
	}
	return ""
}

var File_wallet_proto protoreflect.FileDescriptor

const file_wallet_proto_rawDesc = "" +
	"\n" +
	"\fwallet.proto\x12\x05proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1egoogle/protobuf/duration.proto\"f\n" +
	"\x06Wallet\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12-\n" +
	"\apockets\x18\x02 \x03(\v2\x13.proto.WalletPocketR\apockets\x12\x1d\n" +
	"\n" +
	"account_id\x18\x03 \x01(\tR\taccountId\"o\n" +
	"\fWalletPocket\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
	"\bcurrency\x18\x02 \x01(\tR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x03 \x01(\tR\x06amount\x12\x1b\n" +
	"\twallet_id\x18\x04 \x01(\tR\bwalletId\"\xc3\x03\n" +
	"\n" +
	"WalletFund\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
	"\bcurrency\x18\x02 \x01(\tR\bcurrency\x12!\n" +
	"\ftotal_amount\x18\x03 \x01(\tR\vtotalAmount\x12)\n" +
	"\x10remaining_amount\x18\n" +
	" \x01(\tR\x0fremainingAmount\x123\n" +
	"\n" +
	"split_type\x18\x04 \x01(\x0e2\x14.proto.FundSplitTypeR\tsplitType\x12)\n" +
	"\x06status\x18\x05 \x01(\x0e2\x11.proto.FundStatusR\x06status\x126\n" +
	"\amessage\x18\x06 \x01(\v2\x1c.google.protobuf.StringValueR\amessage\x12,\n" +
	"\x12creator_account_id\x18\a \x01(\tR\x10creatorAccountId\x129\n" +
	"\n" +
	"expired_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\texpiredAt\x12:\n" +
	"\n" +
	"recipients\x18\t \x03(\v2\x1a.proto.WalletFundRecipientR\n" +
	"recipients\"\xfb\x01\n" +
	"\x13WalletFundRecipient\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" +
	"\afund_id\x18\x02 \x01(\tR\x06fundId\x120\n" +
	"\x14recipient_account_id\x18\x03 \x01(\tR\x12recipientAccountId\x12\x16\n" +
	"\x06amount\x18\x04 \x01(\tR\x06amount\x12\x1f\n" +
	"\vis_received\x18\x05 \x01(\bR\n" +
	"isReceived\x12@\n" +
	"\vreceived_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\n" +
	"receivedAt\x88\x01\x01B\x0e\n" +
	"\f_received_at\"\xc7\x06\n" +
	"\fSubscription\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\bbegun_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\abegunAt\x12:\n" +
	"\bended_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\aendedAt\x88\x01\x01\x12\x1e\n" +
	"\n" +
	"identifier\x18\x04 \x01(\tR\n" +
	"identifier\x12\x1b\n" +
	"\tis_active\x18\x05 \x01(\bR\bisActive\x12\"\n" +
	"\ris_free_trial\x18\x06 \x01(\bR\visFreeTrial\x121\n" +
	"\x06status\x18\a \x01(\x0e2\x19.proto.SubscriptionStatusR\x06status\x12%\n" +
	"\x0epayment_method\x18\b \x01(\tR\rpaymentMethod\x12>\n" +
	"\x0fpayment_details\x18\t \x01(\v2\x15.proto.PaymentDetailsR\x0epaymentDetails\x12\x1d\n" +
	"\n" +
	"base_price\x18\n" +
	" \x01(\tR\tbasePrice\x12 \n" +
	"\tcoupon_id\x18\v \x01(\tH\x01R\bcouponId\x88\x01\x01\x12*\n" +
	"\x06coupon\x18\f \x01(\v2\r.proto.CouponH\x02R\x06coupon\x88\x01\x01\x12>\n" +
	"\n" +
	"renewal_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampH\x03R\trenewalAt\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"account_id\x18\x0e \x01(\tR\taccountId\x12!\n" +
	"\fis_available\x18\x0f \x01(\bR\visAvailable\x12\x1f\n" +
	"\vfinal_price\x18\x10 \x01(\tR\n" +
	"finalPrice\x129\n" +
	"\n" +
	"created_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\v\n" +
	"\t_ended_atB\f\n" +
	"\n" +
	"_coupon_idB\t\n" +
	"\a_couponB\r\n" +
	"\v_renewal_at\"\xc1\x05\n" +
	"\x1bSubscriptionReferenceObject\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1e\n" +
	"\n" +
	"identifier\x18\x02 \x01(\tR\n" +
	"identifier\x125\n" +
	"\bbegun_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\abegunAt\x12:\n" +
	"\bended_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\aendedAt\x88\x01\x01\x12\x1b\n" +
	"\tis_active\x18\x05 \x01(\bR\bisActive\x12!\n" +
	"\fis_available\x18\x06 \x01(\bR\visAvailable\x12\"\n" +
	"\ris_free_trial\x18\a \x01(\bR\visFreeTrial\x121\n" +
	"\x06status\x18\b \x01(\x0e2\x19.proto.SubscriptionStatusR\x06status\x12\x1d\n" +
	"\n" +
	"base_price\x18\t \x01(\tR\tbasePrice\x12\x1f\n" +
	"\vfinal_price\x18\n" +
	" \x01(\tR\n" +
	"finalPrice\x12>\n" +
	"\n" +
	"renewal_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x01R\trenewalAt\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"account_id\x18\f \x01(\tR\taccountId\x12&\n" +
	"\fdisplay_name\x18\r \x01(\tH\x02R\vdisplayName\x88\x01\x01\x129\n" +
	"\n" +
	"created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\v\n" +
	"\t_ended_atB\r\n" +
	"\v_renewal_atB\x0f\n" +
	"\r_display_name\"Y\n" +
	"\x0ePaymentDetails\x12\x1a\n" +
	"\bcurrency\x18\x01 \x01(\tR\bcurrency\x12\x1e\n" +
	"\border_id\x18\x02 \x01(\tH\x00R\aorderId\x88\x01\x01B\v\n" +
	"\t_order_id\"\xee\x04\n" +
	"\x06Coupon\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12#\n" +
	"\n" +
	"identifier\x18\x02 \x01(\tH\x00R\n" +
	"identifier\x88\x01\x01\x12\x17\n" +
	"\x04code\x18\x03 \x01(\tH\x01R\x04code\x88\x01\x01\x12@\n" +
	"\vaffected_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampH\x02R\n" +
	"affectedAt\x88\x01\x01\x12>\n" +
	"\n" +
	"expired_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampH\x03R\texpiredAt\x88\x01\x01\x12,\n" +
	"\x0fdiscount_amount\x18\x06 \x01(\tH\x04R\x0ediscountAmount\x88\x01\x01\x12F\n" +
	"\rdiscount_rate\x18\a \x01(\v2\x1c.google.protobuf.DoubleValueH\x05R\fdiscountRate\x88\x01\x01\x12=\n" +
	"\tmax_usage\x18\b \x01(\v2\x1b.google.protobuf.Int32ValueH\x06R\bmaxUsage\x88\x01\x01\x129\n" +
	"\n" +
	"created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\r\n" +
	"\v_identifierB\a\n" +
	"\x05_codeB\x0e\n" +
	"\f_affected_atB\r\n" +
	"\v_expired_atB\x12\n" +
	"\x10_discount_amountB\x10\n" +
	"\x0e_discount_rateB\f\n" +
	"\n" +
	"_max_usage\"\x87\b\n" +
	"\x04Gift\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tgifter_id\x18\x02 \x01(\tR\bgifterId\x12&\n" +
	"\frecipient_id\x18\x03 \x01(\tH\x00R\vrecipientId\x88\x01\x01\x12\x1b\n" +
	"\tgift_code\x18\x04 \x01(\tR\bgiftCode\x12\x1d\n" +
	"\amessage\x18\x05 \x01(\tH\x01R\amessage\x88\x01\x01\x127\n" +
	"\x17subscription_identifier\x18\x06 \x01(\tR\x16subscriptionIdentifier\x12\x1d\n" +
	"\n" +
	"base_price\x18\a \x01(\tR\tbasePrice\x12\x1f\n" +
	"\vfinal_price\x18\b \x01(\tR\n" +
	"finalPrice\x12)\n" +
	"\x06status\x18\t \x01(\x0e2\x11.proto.GiftStatusR\x06status\x12@\n" +
	"\vredeemed_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampH\x02R\n" +
	"redeemedAt\x88\x01\x01\x12$\n" +
	"\vredeemer_id\x18\v \x01(\tH\x03R\n" +
	"redeemerId\x88\x01\x01\x12,\n" +
	"\x0fsubscription_id\x18\f \x01(\tH\x04R\x0esubscriptionId\x88\x01\x01\x129\n" +
	"\n" +
	"expires_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12 \n" +
	"\fis_open_gift\x18\x0e \x01(\bR\n" +
	"isOpenGift\x12%\n" +
	"\x0epayment_method\x18\x0f \x01(\tR\rpaymentMethod\x12>\n" +
	"\x0fpayment_details\x18\x10 \x01(\v2\x15.proto.PaymentDetailsR\x0epaymentDetails\x12 \n" +
	"\tcoupon_id\x18\x11 \x01(\tH\x05R\bcouponId\x88\x01\x01\x12*\n" +
	"\x06coupon\x18\x12 \x01(\v2\r.proto.CouponH\x06R\x06coupon\x88\x01\x01\x12#\n" +
	"\ris_redeemable\x18\x13 \x01(\bR\fisRedeemable\x12\x1d\n" +
	"\n" +
	"is_expired\x18\x14 \x01(\bR\tisExpired\x129\n" +
	"\n" +
	"created_at\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x16 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\x0f\n" +
	"\r_recipient_idB\n" +
	"\n" +
	"\b_messageB\x0e\n" +
	"\f_redeemed_atB\x0e\n" +
	"\f_redeemer_idB\x12\n" +
	"\x10_subscription_idB\f\n" +
	"\n" +
	"_coupon_idB\t\n" +
	"\a_coupon\"1\n" +
	"\x10GetWalletRequest\x12\x1d\n" +
	"\n" +
	"account_id\x18\x01 \x01(\tR\taccountId\"4\n" +
	"\x13CreateWalletRequest\x12\x1d\n" +
	"\n" +
	"account_id\x18\x01 \x01(\tR\taccountId\"\x98\x01\n" +
	"\x1eGetOrCreateWalletPocketRequest\x12\x1b\n" +
	"\twallet_id\x18\x01 \x01(\tR\bwalletId\x12\x1a\n" +
	"\bcurrency\x18\x02 \x01(\tR\bcurrency\x12*\n" +
	"\x0einitial_amount\x18\x03 \x01(\tH\x00R\rinitialAmount\x88\x01\x01B\x11\n" +
	"\x0f_initial_amount\"\xcd\x03\n" +
	"\x12CreateOrderRequest\x12+\n" +
	"\x0fpayee_wallet_id\x18\x01 \x01(\tH\x00R\rpayeeWalletId\x88\x01\x01\x12\x1a\n" +
	"\bcurrency\x18\x02 \x01(\tR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x03 \x01(\tR\x06amount\x12>\n" +
	"\n" +
	"expiration\x18\x04 \x01(\v2\x19.google.protobuf.DurationH\x01R\n" +
	"expiration\x88\x01\x01\x12*\n" +
	"\x0eapp_identifier\x18\x05 \x01(\tH\x02R\rappIdentifier\x88\x01\x01\x122\n" +
	"\x12product_identifier\x18\b \x01(\tH\x03R\x11productIdentifier\x88\x01\x01\x12\x17\n" +
	"\x04meta\x18\x06 \x01(\fH\x04R\x04meta\x88\x01\x01\x12\x1d\n" +
	"\aremarks\x18\t \x01(\tH\x05R\aremarks\x88\x01\x01\x12\x1c\n" +
	"\treuseable\x18\a \x01(\bR\treuseableB\x12\n" +
	"\x10_payee_wallet_idB\r\n" +
	"\v_expirationB\x11\n" +
	"\x0f_app_identifierB\x15\n" +
	"\x13_product_identifierB\a\n" +
	"\x05_metaB\n" +
	"\n" +
	"\b_remarks\"\x92\x05\n" +
	"\x05Order\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12D\n" +
	"\x0fpayee_wallet_id\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\rpayeeWalletId\x128\n" +
	"\bcurrency\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x04 \x01(\tR\x06amount\x129\n" +
	"\n" +
	"expired_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\texpiredAt\x12C\n" +
	"\x0eapp_identifier\x18\x06 \x01(\v2\x1c.google.protobuf.StringValueR\rappIdentifier\x12K\n" +
	"\x12product_identifier\x18\f \x01(\v2\x1c.google.protobuf.StringValueR\x11productIdentifier\x12\x17\n" +
	"\x04meta\x18\a \x01(\fH\x00R\x04meta\x88\x01\x01\x12*\n" +
	"\x06status\x18\b \x01(\x0e2\x12.proto.OrderStatusR\x06status\x12C\n" +
	"\x0etransaction_id\x18\t \x01(\v2\x1c.google.protobuf.StringValueR\rtransactionId\x129\n" +
	"\vtransaction\x18\n" +
	" \x01(\v2\x12.proto.TransactionH\x01R\vtransaction\x88\x01\x01\x126\n" +
	"\aremarks\x18\v \x01(\v2\x1c.google.protobuf.StringValueR\aremarksB\a\n" +
	"\x05_metaB\x0e\n" +
	"\f_transaction\"\xb7\x03\n" +
	"\vTransaction\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12D\n" +
	"\x0fpayer_wallet_id\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\rpayerWalletId\x12D\n" +
	"\x0fpayee_wallet_id\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\rpayeeWalletId\x12\x1a\n" +
	"\bcurrency\x18\x04 \x01(\tR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x05 \x01(\tR\x06amount\x126\n" +
	"\aremarks\x18\x06 \x01(\v2\x1c.google.protobuf.StringValueR\aremarks\x12*\n" +
	"\x04type\x18\a \x01(\x0e2\x16.proto.TransactionTypeR\x04type\x129\n" +
	"\n" +
	"created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\xcd\x02\n" +
	"#CreateTransactionWithAccountRequest\x12F\n" +
	"\x10payer_account_id\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\x0epayerAccountId\x12F\n" +
	"\x10payee_account_id\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\x0epayeeAccountId\x12\x1a\n" +
	"\bcurrency\x18\x03 \x01(\tR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x04 \x01(\tR\x06amount\x126\n" +
	"\aremarks\x18\x05 \x01(\v2\x1c.google.protobuf.StringValueR\aremarks\x12*\n" +
	"\x04type\x18\x06 \x01(\x0e2\x16.proto.TransactionTypeR\x04type\"\xbe\x02\n" +
	"\x18CreateTransactionRequest\x12D\n" +
	"\x0fpayer_wallet_id\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\rpayerWalletId\x12D\n" +
	"\x0fpayee_wallet_id\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\rpayeeWalletId\x12\x1a\n" +
	"\bcurrency\x18\x03 \x01(\tR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x04 \x01(\tR\x06amount\x126\n" +
	"\aremarks\x18\x05 \x01(\v2\x1c.google.protobuf.StringValueR\aremarks\x12*\n" +
	"\x04type\x18\x06 \x01(\x0e2\x16.proto.TransactionTypeR\x04type\"/\n" +
	"\x12CancelOrderRequest\x12\x19\n" +
	"\border_id\x18\x01 \x01(\tR\aorderId\"/\n" +
	"\x12RefundOrderRequest\x12\x19\n" +
	"\border_id\x18\x01 \x01(\tR\aorderId\"|\n" +
	"\x13RefundOrderResponse\x12\"\n" +
	"\x05order\x18\x01 \x01(\v2\f.proto.OrderR\x05order\x12A\n" +
	"\x12refund_transaction\x18\x02 \x01(\v2\x12.proto.TransactionR\x11refundTransaction\"\x99\x01\n" +
	"\x0fTransferRequest\x12(\n" +
	"\x10payer_account_id\x18\x01 \x01(\tR\x0epayerAccountId\x12(\n" +
	"\x10payee_account_id\x18\x02 \x01(\tR\x0epayeeAccountId\x12\x1a\n" +
	"\bcurrency\x18\x03 \x01(\tR\bcurrency\x12\x16\n" +
	"\x06amount\x18\x04 \x01(\tR\x06amount\"/\n" +
	"\x14GetWalletFundRequest\x12\x17\n" +
	"\afund_id\x18\x01 \x01(\tR\x06fundId*f\n" +
	"\rFundSplitType\x12\x1f\n" +
	"\x1bFUND_SPLIT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n" +
	"\x14FUND_SPLIT_TYPE_EVEN\x10\x01\x12\x1a\n" +
	"\x16FUND_SPLIT_TYPE_RANDOM\x10\x02*\xb9\x01\n" +
	"\n" +
	"FundStatus\x12\x1b\n" +
	"\x17FUND_STATUS_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13FUND_STATUS_CREATED\x10\x01\x12\"\n" +
	"\x1eFUND_STATUS_PARTIALLY_RECEIVED\x10\x02\x12\x1e\n" +
	"\x1aFUND_STATUS_FULLY_RECEIVED\x10\x03\x12\x17\n" +
	"\x13FUND_STATUS_EXPIRED\x10\x04\x12\x18\n" +
	"\x14FUND_STATUS_REFUNDED\x10\x05*\xbd\x01\n" +
	"\x12SubscriptionStatus\x12#\n" +
	"\x1fSUBSCRIPTION_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aSUBSCRIPTION_STATUS_UNPAID\x10\x01\x12\x1e\n" +
	"\x1aSUBSCRIPTION_STATUS_ACTIVE\x10\x02\x12\x1f\n" +
	"\x1bSUBSCRIPTION_STATUS_EXPIRED\x10\x03\x12!\n" +
	"\x1dSUBSCRIPTION_STATUS_CANCELLED\x10\x04*\xa6\x01\n" +
	"\n" +
	"GiftStatus\x12\x1b\n" +
	"\x17GIFT_STATUS_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13GIFT_STATUS_CREATED\x10\x01\x12\x14\n" +
	"\x10GIFT_STATUS_SENT\x10\x02\x12\x18\n" +
	"\x14GIFT_STATUS_REDEEMED\x10\x03\x12\x17\n" +
	"\x13GIFT_STATUS_EXPIRED\x10\x04\x12\x19\n" +
	"\x15GIFT_STATUS_CANCELLED\x10\x05*\xac\x01\n" +
	"\vOrderStatus\x12\x1c\n" +
	"\x18ORDER_STATUS_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13ORDER_STATUS_UNPAID\x10\x01\x12\x15\n" +
	"\x11ORDER_STATUS_PAID\x10\x02\x12\x18\n" +
	"\x14ORDER_STATUS_EXPIRED\x10\x03\x12\x1a\n" +
	"\x16ORDER_STATUS_CANCELLED\x10\x04\x12\x19\n" +
	"\x15ORDER_STATUS_FINISHED\x10\x05*\x8b\x01\n" +
	"\x0fTransactionType\x12 \n" +
	"\x1cTRANSACTION_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n" +
	"\x17TRANSACTION_TYPE_SYSTEM\x10\x01\x12\x1a\n" +
	"\x16TRANSACTION_TYPE_ORDER\x10\x02\x12\x1d\n" +
	"\x19TRANSACTION_TYPE_TRANSFER\x10\x032\xd6\x01\n" +
	"\rWalletService\x123\n" +
	"\tGetWallet\x12\x17.proto.GetWalletRequest\x1a\r.proto.Wallet\x129\n" +
	"\fCreateWallet\x12\x1a.proto.CreateWalletRequest\x1a\r.proto.Wallet\x12U\n" +
	"\x17GetOrCreateWalletPocket\x12%.proto.GetOrCreateWalletPocketRequest\x1a\x13.proto.WalletPocket2\xe9\x03\n" +
	"\x0ePaymentService\x126\n" +
	"\vCreateOrder\x12\x19.proto.CreateOrderRequest\x1a\f.proto.Order\x12^\n" +
	"\x1cCreateTransactionWithAccount\x12*.proto.CreateTransactionWithAccountRequest\x1a\x12.proto.Transaction\x12H\n" +
	"\x11CreateTransaction\x12\x1f.proto.CreateTransactionRequest\x1a\x12.proto.Transaction\x126\n" +
	"\vCancelOrder\x12\x19.proto.CancelOrderRequest\x1a\f.proto.Order\x12D\n" +
	"\vRefundOrder\x12\x19.proto.RefundOrderRequest\x1a\x1a.proto.RefundOrderResponse\x126\n" +
	"\bTransfer\x12\x16.proto.TransferRequest\x1a\x12.proto.Transaction\x12?\n" +
	"\rGetWalletFund\x12\x1b.proto.GetWalletFundRequest\x1a\x11.proto.WalletFundBUZ7git.solsynth.dev/goatworks/turbine/pkg/shared/proto/gen\xaa\x02\x19DysonNetwork.Shared.Protob\x06proto3"

var (
	file_wallet_proto_rawDescOnce sync.Once
	file_wallet_proto_rawDescData []byte
)

func file_wallet_proto_rawDescGZIP() []byte {
	file_wallet_proto_rawDescOnce.Do(func() {
		file_wallet_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_wallet_proto_rawDesc), len(file_wallet_proto_rawDesc)))
	})
	return file_wallet_proto_rawDescData
}

var file_wallet_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_wallet_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_wallet_proto_goTypes = []any{
	(FundSplitType)(0),                          // 0: proto.FundSplitType
	(FundStatus)(0),                             // 1: proto.FundStatus
	(SubscriptionStatus)(0),                     // 2: proto.SubscriptionStatus
	(GiftStatus)(0),                             // 3: proto.GiftStatus
	(OrderStatus)(0),                            // 4: proto.OrderStatus
	(TransactionType)(0),                        // 5: proto.TransactionType
	(*Wallet)(nil),                              // 6: proto.Wallet
	(*WalletPocket)(nil),                        // 7: proto.WalletPocket
	(*WalletFund)(nil),                          // 8: proto.WalletFund
	(*WalletFundRecipient)(nil),                 // 9: proto.WalletFundRecipient
	(*Subscription)(nil),                        // 10: proto.Subscription
	(*SubscriptionReferenceObject)(nil),         // 11: proto.SubscriptionReferenceObject
	(*PaymentDetails)(nil),                      // 12: proto.PaymentDetails
	(*Coupon)(nil),                              // 13: proto.Coupon
	(*Gift)(nil),                                // 14: proto.Gift
	(*GetWalletRequest)(nil),                    // 15: proto.GetWalletRequest
	(*CreateWalletRequest)(nil),                 // 16: proto.CreateWalletRequest
	(*GetOrCreateWalletPocketRequest)(nil),      // 17: proto.GetOrCreateWalletPocketRequest
	(*CreateOrderRequest)(nil),                  // 18: proto.CreateOrderRequest
	(*Order)(nil),                               // 19: proto.Order
	(*Transaction)(nil),                         // 20: proto.Transaction
	(*CreateTransactionWithAccountRequest)(nil), // 21: proto.CreateTransactionWithAccountRequest
	(*CreateTransactionRequest)(nil),            // 22: proto.CreateTransactionRequest
	(*CancelOrderRequest)(nil),                  // 23: proto.CancelOrderRequest
	(*RefundOrderRequest)(nil),                  // 24: proto.RefundOrderRequest
	(*RefundOrderResponse)(nil),                 // 25: proto.RefundOrderResponse
	(*TransferRequest)(nil),                     // 26: proto.TransferRequest
	(*GetWalletFundRequest)(nil),                // 27: proto.GetWalletFundRequest
	(*wrapperspb.StringValue)(nil),              // 28: google.protobuf.StringValue
	(*timestamppb.Timestamp)(nil),               // 29: google.protobuf.Timestamp
	(*wrapperspb.DoubleValue)(nil),              // 30: google.protobuf.DoubleValue
	(*wrapperspb.Int32Value)(nil),               // 31: google.protobuf.Int32Value
	(*durationpb.Duration)(nil),                 // 32: google.protobuf.Duration
}
var file_wallet_proto_depIdxs = []int32{
	7,  // 0: proto.Wallet.pockets:type_name -> proto.WalletPocket
	0,  // 1: proto.WalletFund.split_type:type_name -> proto.FundSplitType
	1,  // 2: proto.WalletFund.status:type_name -> proto.FundStatus
	28, // 3: proto.WalletFund.message:type_name -> google.protobuf.StringValue
	29, // 4: proto.WalletFund.expired_at:type_name -> google.protobuf.Timestamp
	9,  // 5: proto.WalletFund.recipients:type_name -> proto.WalletFundRecipient
	29, // 6: proto.WalletFundRecipient.received_at:type_name -> google.protobuf.Timestamp
	29, // 7: proto.Subscription.begun_at:type_name -> google.protobuf.Timestamp
	29, // 8: proto.Subscription.ended_at:type_name -> google.protobuf.Timestamp
	2,  // 9: proto.Subscription.status:type_name -> proto.SubscriptionStatus
	12, // 10: proto.Subscription.payment_details:type_name -> proto.PaymentDetails
	13, // 11: proto.Subscription.coupon:type_name -> proto.Coupon
	29, // 12: proto.Subscription.renewal_at:type_name -> google.protobuf.Timestamp
	29, // 13: proto.Subscription.created_at:type_name -> google.protobuf.Timestamp
	29, // 14: proto.Subscription.updated_at:type_name -> google.protobuf.Timestamp
	29, // 15: proto.SubscriptionReferenceObject.begun_at:type_name -> google.protobuf.Timestamp
	29, // 16: proto.SubscriptionReferenceObject.ended_at:type_name -> google.protobuf.Timestamp
	2,  // 17: proto.SubscriptionReferenceObject.status:type_name -> proto.SubscriptionStatus
	29, // 18: proto.SubscriptionReferenceObject.renewal_at:type_name -> google.protobuf.Timestamp
	29, // 19: proto.SubscriptionReferenceObject.created_at:type_name -> google.protobuf.Timestamp
	29, // 20: proto.SubscriptionReferenceObject.updated_at:type_name -> google.protobuf.Timestamp
	29, // 21: proto.Coupon.affected_at:type_name -> google.protobuf.Timestamp
	29, // 22: proto.Coupon.expired_at:type_name -> google.protobuf.Timestamp
	30, // 23: proto.Coupon.discount_rate:type_name -> google.protobuf.DoubleValue
	31, // 24: proto.Coupon.max_usage:type_name -> google.protobuf.Int32Value
	29, // 25: proto.Coupon.created_at:type_name -> google.protobuf.Timestamp
	29, // 26: proto.Coupon.updated_at:type_name -> google.protobuf.Timestamp
	3,  // 27: proto.Gift.status:type_name -> proto.GiftStatus
	29, // 28: proto.Gift.redeemed_at:type_name -> google.protobuf.Timestamp
	29, // 29: proto.Gift.expires_at:type_name -> google.protobuf.Timestamp
	12, // 30: proto.Gift.payment_details:type_name -> proto.PaymentDetails
	13, // 31: proto.Gift.coupon:type_name -> proto.Coupon
	29, // 32: proto.Gift.created_at:type_name -> google.protobuf.Timestamp
	29, // 33: proto.Gift.updated_at:type_name -> google.protobuf.Timestamp
	32, // 34: proto.CreateOrderRequest.expiration:type_name -> google.protobuf.Duration
	28, // 35: proto.Order.payee_wallet_id:type_name -> google.protobuf.StringValue
	28, // 36: proto.Order.currency:type_name -> google.protobuf.StringValue
	29, // 37: proto.Order.expired_at:type_name -> google.protobuf.Timestamp
	28, // 38: proto.Order.app_identifier:type_name -> google.protobuf.StringValue
	28, // 39: proto.Order.product_identifier:type_name -> google.protobuf.StringValue
	4,  // 40: proto.Order.status:type_name -> proto.OrderStatus
	28, // 41: proto.Order.transaction_id:type_name -> google.protobuf.StringValue
	20, // 42: proto.Order.transaction:type_name -> proto.Transaction
	28, // 43: proto.Order.remarks:type_name -> google.protobuf.StringValue
	28, // 44: proto.Transaction.payer_wallet_id:type_name -> google.protobuf.StringValue
	28, // 45: proto.Transaction.payee_wallet_id:type_name -> google.protobuf.StringValue
	28, // 46: proto.Transaction.remarks:type_name -> google.protobuf.StringValue
	5,  // 47: proto.Transaction.type:type_name -> proto.TransactionType
	29, // 48: proto.Transaction.created_at:type_name -> google.protobuf.Timestamp
	29, // 49: proto.Transaction.updated_at:type_name -> google.protobuf.Timestamp
	28, // 50: proto.CreateTransactionWithAccountRequest.payer_account_id:type_name -> google.protobuf.StringValue
	28, // 51: proto.CreateTransactionWithAccountRequest.payee_account_id:type_name -> google.protobuf.StringValue
	28, // 52: proto.CreateTransactionWithAccountRequest.remarks:type_name -> google.protobuf.StringValue
	5,  // 53: proto.CreateTransactionWithAccountRequest.type:type_name -> proto.TransactionType
	28, // 54: proto.CreateTransactionRequest.payer_wallet_id:type_name -> google.protobuf.StringValue
	28, // 55: proto.CreateTransactionRequest.payee_wallet_id:type_name -> google.protobuf.StringValue
	28, // 56: proto.CreateTransactionRequest.remarks:type_name -> google.protobuf.StringValue
	5,  // 57: proto.CreateTransactionRequest.type:type_name -> proto.TransactionType
	19, // 58: proto.RefundOrderResponse.order:type_name -> proto.Order
	20, // 59: proto.RefundOrderResponse.refund_transaction:type_name -> proto.Transaction
	15, // 60: proto.WalletService.GetWallet:input_type -> proto.GetWalletRequest
	16, // 61: proto.WalletService.CreateWallet:input_type -> proto.CreateWalletRequest
	17, // 62: proto.WalletService.GetOrCreateWalletPocket:input_type -> proto.GetOrCreateWalletPocketRequest
	18, // 63: proto.PaymentService.CreateOrder:input_type -> proto.CreateOrderRequest
	21, // 64: proto.PaymentService.CreateTransactionWithAccount:input_type -> proto.CreateTransactionWithAccountRequest
	22, // 65: proto.PaymentService.CreateTransaction:input_type -> proto.CreateTransactionRequest
	23, // 66: proto.PaymentService.CancelOrder:input_type -> proto.CancelOrderRequest
	24, // 67: proto.PaymentService.RefundOrder:input_type -> proto.RefundOrderRequest
	26, // 68: proto.PaymentService.Transfer:input_type -> proto.TransferRequest
	27, // 69: proto.PaymentService.GetWalletFund:input_type -> proto.GetWalletFundRequest
	6,  // 70: proto.WalletService.GetWallet:output_type -> proto.Wallet
	6,  // 71: proto.WalletService.CreateWallet:output_type -> proto.Wallet
	7,  // 72: proto.WalletService.GetOrCreateWalletPocket:output_type -> proto.WalletPocket
	19, // 73: proto.PaymentService.CreateOrder:output_type -> proto.Order
	20, // 74: proto.PaymentService.CreateTransactionWithAccount:output_type -> proto.Transaction
	20, // 75: proto.PaymentService.CreateTransaction:output_type -> proto.Transaction
	19, // 76: proto.PaymentService.CancelOrder:output_type -> proto.Order
	25, // 77: proto.PaymentService.RefundOrder:output_type -> proto.RefundOrderResponse
	20, // 78: proto.PaymentService.Transfer:output_type -> proto.Transaction
	8,  // 79: proto.PaymentService.GetWalletFund:output_type -> proto.WalletFund
	70, // [70:80] is the sub-list for method output_type
	60, // [60:70] is the sub-list for method input_type
	60, // [60:60] is the sub-list for extension type_name
	60, // [60:60] is the sub-list for extension extendee
	0,  // [0:60] is the sub-list for field type_name
}

func init() { file_wallet_proto_init() }
func file_wallet_proto_init() {
	if File_wallet_proto != nil {
		return
	}
	file_wallet_proto_msgTypes[3].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[4].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[5].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[6].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[7].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[8].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[11].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[12].OneofWrappers = []any{}
	file_wallet_proto_msgTypes[13].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_wallet_proto_rawDesc), len(file_wallet_proto_rawDesc)),
			NumEnums:      6,
			NumMessages:   22,
			NumExtensions: 0,
			NumServices:   2,
		},
		GoTypes:           file_wallet_proto_goTypes,
		DependencyIndexes: file_wallet_proto_depIdxs,
		EnumInfos:         file_wallet_proto_enumTypes,
		MessageInfos:      file_wallet_proto_msgTypes,
	}.Build()
	File_wallet_proto = out.File
	file_wallet_proto_goTypes = nil
	file_wallet_proto_depIdxs = nil
}
