// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.30.2
// source: shutter.proto

package proto

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	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 Envelope struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Version       string                 `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	Message       *anypb.Any             `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	Trace         *TraceContext          `protobuf:"bytes,3,opt,name=trace,proto3,oneof" json:"trace,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Envelope) ProtoMessage() {}

func (x *Envelope) ProtoReflect() protoreflect.Message {
	mi := &file_shutter_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 Envelope.ProtoReflect.Descriptor instead.
func (*Envelope) Descriptor() ([]byte, []int) {
	return file_shutter_proto_rawDescGZIP(), []int{0}
}

func (x *Envelope) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Envelope) GetMessage() *anypb.Any {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *Envelope) GetTrace() *TraceContext {
	if x != nil {
		return x.Trace
	}
	return nil
}

type TraceContext struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TraceId       []byte                 `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
	SpanId        []byte                 `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
	TraceFlags    []byte                 `protobuf:"bytes,3,opt,name=trace_flags,json=traceFlags,proto3" json:"trace_flags,omitempty"`
	TraceState    string                 `protobuf:"bytes,4,opt,name=trace_state,json=traceState,proto3" json:"trace_state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TraceContext) ProtoMessage() {}

func (x *TraceContext) ProtoReflect() protoreflect.Message {
	mi := &file_shutter_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 TraceContext.ProtoReflect.Descriptor instead.
func (*TraceContext) Descriptor() ([]byte, []int) {
	return file_shutter_proto_rawDescGZIP(), []int{1}
}

func (x *TraceContext) GetTraceId() []byte {
	if x != nil {
		return x.TraceId
	}
	return nil
}

func (x *TraceContext) GetSpanId() []byte {
	if x != nil {
		return x.SpanId
	}
	return nil
}

func (x *TraceContext) GetTraceFlags() []byte {
	if x != nil {
		return x.TraceFlags
	}
	return nil
}

func (x *TraceContext) GetTraceState() string {
	if x != nil {
		return x.TraceState
	}
	return ""
}

type DecryptionKeys struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	InstanceId uint64                 `protobuf:"varint,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
	Eon        uint64                 `protobuf:"varint,2,opt,name=eon,proto3" json:"eon,omitempty"`
	Keys       []*Key                 `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"`
	// Types that are valid to be assigned to Extra:
	//
	//	*DecryptionKeys_Gnosis
	//	*DecryptionKeys_Optimism
	Extra         isDecryptionKeys_Extra `protobuf_oneof:"extra"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DecryptionKeys) ProtoMessage() {}

func (x *DecryptionKeys) ProtoReflect() protoreflect.Message {
	mi := &file_shutter_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 DecryptionKeys.ProtoReflect.Descriptor instead.
func (*DecryptionKeys) Descriptor() ([]byte, []int) {
	return file_shutter_proto_rawDescGZIP(), []int{2}
}

func (x *DecryptionKeys) GetInstanceId() uint64 {
	if x != nil {
		return x.InstanceId
	}
	return 0
}

func (x *DecryptionKeys) GetEon() uint64 {
	if x != nil {
		return x.Eon
	}
	return 0
}

func (x *DecryptionKeys) GetKeys() []*Key {
	if x != nil {
		return x.Keys
	}
	return nil
}

func (x *DecryptionKeys) GetExtra() isDecryptionKeys_Extra {
	if x != nil {
		return x.Extra
	}
	return nil
}

func (x *DecryptionKeys) GetGnosis() *GnosisDecryptionKeysExtra {
	if x != nil {
		if x, ok := x.Extra.(*DecryptionKeys_Gnosis); ok {
			return x.Gnosis
		}
	}
	return nil
}

func (x *DecryptionKeys) GetOptimism() *OptimismDecryptionKeysExtra {
	if x != nil {
		if x, ok := x.Extra.(*DecryptionKeys_Optimism); ok {
			return x.Optimism
		}
	}
	return nil
}

type isDecryptionKeys_Extra interface {
	isDecryptionKeys_Extra()
}

type DecryptionKeys_Gnosis struct {
	Gnosis *GnosisDecryptionKeysExtra `protobuf:"bytes,4,opt,name=gnosis,proto3,oneof"`
}

type DecryptionKeys_Optimism struct {
	Optimism *OptimismDecryptionKeysExtra `protobuf:"bytes,5,opt,name=optimism,proto3,oneof"`
}

func (*DecryptionKeys_Gnosis) isDecryptionKeys_Extra() {}

func (*DecryptionKeys_Optimism) isDecryptionKeys_Extra() {}

type Key struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	IdentityPreimage []byte                 `protobuf:"bytes,1,opt,name=identity_preimage,json=identityPreimage,proto3" json:"identity_preimage,omitempty"`
	Key              []byte                 `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*Key) ProtoMessage() {}

func (x *Key) ProtoReflect() protoreflect.Message {
	mi := &file_shutter_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 Key.ProtoReflect.Descriptor instead.
func (*Key) Descriptor() ([]byte, []int) {
	return file_shutter_proto_rawDescGZIP(), []int{3}
}

func (x *Key) GetIdentityPreimage() []byte {
	if x != nil {
		return x.IdentityPreimage
	}
	return nil
}

func (x *Key) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

type GnosisDecryptionKeysExtra struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Slot          uint64                 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"`
	TxPointer     uint64                 `protobuf:"varint,2,opt,name=tx_pointer,json=txPointer,proto3" json:"tx_pointer,omitempty"`
	SignerIndices []uint64               `protobuf:"varint,3,rep,packed,name=signer_indices,json=signerIndices,proto3" json:"signer_indices,omitempty"`
	Signatures    [][]byte               `protobuf:"bytes,4,rep,name=signatures,proto3" json:"signatures,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GnosisDecryptionKeysExtra) ProtoMessage() {}

func (x *GnosisDecryptionKeysExtra) ProtoReflect() protoreflect.Message {
	mi := &file_shutter_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 GnosisDecryptionKeysExtra.ProtoReflect.Descriptor instead.
func (*GnosisDecryptionKeysExtra) Descriptor() ([]byte, []int) {
	return file_shutter_proto_rawDescGZIP(), []int{4}
}

func (x *GnosisDecryptionKeysExtra) GetSlot() uint64 {
	if x != nil {
		return x.Slot
	}
	return 0
}

func (x *GnosisDecryptionKeysExtra) GetTxPointer() uint64 {
	if x != nil {
		return x.TxPointer
	}
	return 0
}

func (x *GnosisDecryptionKeysExtra) GetSignerIndices() []uint64 {
	if x != nil {
		return x.SignerIndices
	}
	return nil
}

func (x *GnosisDecryptionKeysExtra) GetSignatures() [][]byte {
	if x != nil {
		return x.Signatures
	}
	return nil
}

type OptimismDecryptionKeysExtra struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OptimismDecryptionKeysExtra) ProtoMessage() {}

func (x *OptimismDecryptionKeysExtra) ProtoReflect() protoreflect.Message {
	mi := &file_shutter_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 OptimismDecryptionKeysExtra.ProtoReflect.Descriptor instead.
func (*OptimismDecryptionKeysExtra) Descriptor() ([]byte, []int) {
	return file_shutter_proto_rawDescGZIP(), []int{5}
}

var File_shutter_proto protoreflect.FileDescriptor

const file_shutter_proto_rawDesc = "" +
	"\n" +
	"\rshutter.proto\x12\x05proto\x1a\x19google/protobuf/any.proto\"\x8e\x01\n" +
	"\bEnvelope\x12\x18\n" +
	"\aversion\x18\x01 \x01(\tR\aversion\x12.\n" +
	"\amessage\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\amessage\x12.\n" +
	"\x05trace\x18\x03 \x01(\v2\x13.proto.TraceContextH\x00R\x05trace\x88\x01\x01B\b\n" +
	"\x06_trace\"\x84\x01\n" +
	"\fTraceContext\x12\x19\n" +
	"\btrace_id\x18\x01 \x01(\fR\atraceId\x12\x17\n" +
	"\aspan_id\x18\x02 \x01(\fR\x06spanId\x12\x1f\n" +
	"\vtrace_flags\x18\x03 \x01(\fR\n" +
	"traceFlags\x12\x1f\n" +
	"\vtrace_state\x18\x04 \x01(\tR\n" +
	"traceState\"\xea\x01\n" +
	"\x0eDecryptionKeys\x12\x1f\n" +
	"\vinstance_id\x18\x01 \x01(\x04R\n" +
	"instanceId\x12\x10\n" +
	"\x03eon\x18\x02 \x01(\x04R\x03eon\x12\x1e\n" +
	"\x04keys\x18\x03 \x03(\v2\n" +
	".proto.KeyR\x04keys\x12:\n" +
	"\x06gnosis\x18\x04 \x01(\v2 .proto.GnosisDecryptionKeysExtraH\x00R\x06gnosis\x12@\n" +
	"\boptimism\x18\x05 \x01(\v2\".proto.OptimismDecryptionKeysExtraH\x00R\boptimismB\a\n" +
	"\x05extra\"D\n" +
	"\x03Key\x12+\n" +
	"\x11identity_preimage\x18\x01 \x01(\fR\x10identityPreimage\x12\x10\n" +
	"\x03key\x18\x02 \x01(\fR\x03key\"\x95\x01\n" +
	"\x19GnosisDecryptionKeysExtra\x12\x12\n" +
	"\x04slot\x18\x01 \x01(\x04R\x04slot\x12\x1d\n" +
	"\n" +
	"tx_pointer\x18\x02 \x01(\x04R\ttxPointer\x12%\n" +
	"\x0esigner_indices\x18\x03 \x03(\x04R\rsignerIndices\x12\x1e\n" +
	"\n" +
	"signatures\x18\x04 \x03(\fR\n" +
	"signatures\"\x1d\n" +
	"\x1bOptimismDecryptionKeysExtraB\n" +
	"Z\b./;protob\x06proto3"

var (
	file_shutter_proto_rawDescOnce sync.Once
	file_shutter_proto_rawDescData []byte
)

func file_shutter_proto_rawDescGZIP() []byte {
	file_shutter_proto_rawDescOnce.Do(func() {
		file_shutter_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_shutter_proto_rawDesc), len(file_shutter_proto_rawDesc)))
	})
	return file_shutter_proto_rawDescData
}

var file_shutter_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_shutter_proto_goTypes = []any{
	(*Envelope)(nil),                    // 0: proto.Envelope
	(*TraceContext)(nil),                // 1: proto.TraceContext
	(*DecryptionKeys)(nil),              // 2: proto.DecryptionKeys
	(*Key)(nil),                         // 3: proto.Key
	(*GnosisDecryptionKeysExtra)(nil),   // 4: proto.GnosisDecryptionKeysExtra
	(*OptimismDecryptionKeysExtra)(nil), // 5: proto.OptimismDecryptionKeysExtra
	(*anypb.Any)(nil),                   // 6: google.protobuf.Any
}
var file_shutter_proto_depIdxs = []int32{
	6, // 0: proto.Envelope.message:type_name -> google.protobuf.Any
	1, // 1: proto.Envelope.trace:type_name -> proto.TraceContext
	3, // 2: proto.DecryptionKeys.keys:type_name -> proto.Key
	4, // 3: proto.DecryptionKeys.gnosis:type_name -> proto.GnosisDecryptionKeysExtra
	5, // 4: proto.DecryptionKeys.optimism:type_name -> proto.OptimismDecryptionKeysExtra
	5, // [5:5] is the sub-list for method output_type
	5, // [5:5] is the sub-list for method input_type
	5, // [5:5] is the sub-list for extension type_name
	5, // [5:5] is the sub-list for extension extendee
	0, // [0:5] is the sub-list for field type_name
}

func init() { file_shutter_proto_init() }
func file_shutter_proto_init() {
	if File_shutter_proto != nil {
		return
	}
	file_shutter_proto_msgTypes[0].OneofWrappers = []any{}
	file_shutter_proto_msgTypes[2].OneofWrappers = []any{
		(*DecryptionKeys_Gnosis)(nil),
		(*DecryptionKeys_Optimism)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_shutter_proto_rawDesc), len(file_shutter_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   6,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_shutter_proto_goTypes,
		DependencyIndexes: file_shutter_proto_depIdxs,
		MessageInfos:      file_shutter_proto_msgTypes,
	}.Build()
	File_shutter_proto = out.File
	file_shutter_proto_goTypes = nil
	file_shutter_proto_depIdxs = nil
}
