// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.35.1
// 	protoc        v6.32.0
// source: evm/prediction_market_block_message.proto

package evm_messages

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type PredictionMarketBlockMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Chain            *Chain                       `protobuf:"bytes,1,opt,name=Chain,proto3" json:"Chain,omitempty"`
	Header           *BlockHeader                 `protobuf:"bytes,2,opt,name=Header,proto3" json:"Header,omitempty"`
	L1Header         *BlockHeader                 `protobuf:"bytes,3,opt,name=L1Header,proto3,oneof" json:"L1Header,omitempty"`
	TradeEvents      []*PredictionTradeEvent      `protobuf:"bytes,4,rep,name=TradeEvents,proto3" json:"TradeEvents,omitempty"`
	ManagementEvents []*PredictionManagementEvent `protobuf:"bytes,5,rep,name=ManagementEvents,proto3" json:"ManagementEvents,omitempty"`
	SettlementEvents []*PredictionSettlementEvent `protobuf:"bytes,6,rep,name=SettlementEvents,proto3" json:"SettlementEvents,omitempty"`
}

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

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

func (*PredictionMarketBlockMessage) ProtoMessage() {}

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

func (x *PredictionMarketBlockMessage) GetChain() *Chain {
	if x != nil {
		return x.Chain
	}
	return nil
}

func (x *PredictionMarketBlockMessage) GetHeader() *BlockHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PredictionMarketBlockMessage) GetL1Header() *BlockHeader {
	if x != nil {
		return x.L1Header
	}
	return nil
}

func (x *PredictionMarketBlockMessage) GetTradeEvents() []*PredictionTradeEvent {
	if x != nil {
		return x.TradeEvents
	}
	return nil
}

func (x *PredictionMarketBlockMessage) GetManagementEvents() []*PredictionManagementEvent {
	if x != nil {
		return x.ManagementEvents
	}
	return nil
}

func (x *PredictionMarketBlockMessage) GetSettlementEvents() []*PredictionSettlementEvent {
	if x != nil {
		return x.SettlementEvents
	}
	return nil
}

type PredictionMarketplaceInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SmartContract   []byte `protobuf:"bytes,1,opt,name=SmartContract,proto3" json:"SmartContract,omitempty"`   // marketplace contract address, UMA Adapter for polymarket: 0x65070BE91477460D8A7AeEb94ef92fe056C2f2A7
	ProtocolName    string `protobuf:"bytes,2,opt,name=ProtocolName,proto3" json:"ProtocolName,omitempty"`     // "Polymarket", "predict.fun"
	ProtocolFamily  string `protobuf:"bytes,3,opt,name=ProtocolFamily,proto3" json:"ProtocolFamily,omitempty"` // "Gnosis_CTF"
	ProtocolVersion string `protobuf:"bytes,4,opt,name=ProtocolVersion,proto3" json:"ProtocolVersion,omitempty"`
	Delegated       bool   `protobuf:"varint,5,opt,name=Delegated,proto3" json:"Delegated,omitempty"`
	DelegatedTo     []byte `protobuf:"bytes,6,opt,name=DelegatedTo,proto3" json:"DelegatedTo,omitempty"`
}

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

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

func (*PredictionMarketplaceInfo) ProtoMessage() {}

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

func (x *PredictionMarketplaceInfo) GetSmartContract() []byte {
	if x != nil {
		return x.SmartContract
	}
	return nil
}

func (x *PredictionMarketplaceInfo) GetProtocolName() string {
	if x != nil {
		return x.ProtocolName
	}
	return ""
}

func (x *PredictionMarketplaceInfo) GetProtocolFamily() string {
	if x != nil {
		return x.ProtocolFamily
	}
	return ""
}

func (x *PredictionMarketplaceInfo) GetProtocolVersion() string {
	if x != nil {
		return x.ProtocolVersion
	}
	return ""
}

func (x *PredictionMarketplaceInfo) GetDelegated() bool {
	if x != nil {
		return x.Delegated
	}
	return false
}

func (x *PredictionMarketplaceInfo) GetDelegatedTo() []byte {
	if x != nil {
		return x.DelegatedTo
	}
	return nil
}

// Created / Resolved
type PredictionManagementEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TransactionHeader    *TransactionHeader `protobuf:"bytes,1,opt,name=TransactionHeader,proto3" json:"TransactionHeader,omitempty"`
	TransactionSignature *Signature         `protobuf:"bytes,2,opt,name=TransactionSignature,proto3" json:"TransactionSignature,omitempty"`
	Event                *PredictionEvent   `protobuf:"bytes,3,opt,name=Event,proto3" json:"Event,omitempty"`
	Prediction           *PredictionInfo    `protobuf:"bytes,4,opt,name=Prediction,proto3" json:"Prediction,omitempty"`
	Description          string             `protobuf:"bytes,5,opt,name=Description,proto3" json:"Description,omitempty"`
}

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

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

func (*PredictionManagementEvent) ProtoMessage() {}

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

func (x *PredictionManagementEvent) GetTransactionHeader() *TransactionHeader {
	if x != nil {
		return x.TransactionHeader
	}
	return nil
}

func (x *PredictionManagementEvent) GetTransactionSignature() *Signature {
	if x != nil {
		return x.TransactionSignature
	}
	return nil
}

func (x *PredictionManagementEvent) GetEvent() *PredictionEvent {
	if x != nil {
		return x.Event
	}
	return nil
}

func (x *PredictionManagementEvent) GetPrediction() *PredictionInfo {
	if x != nil {
		return x.Prediction
	}
	return nil
}

func (x *PredictionManagementEvent) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

type PredictionSettlementEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TransactionHeader    *TransactionHeader `protobuf:"bytes,1,opt,name=TransactionHeader,proto3" json:"TransactionHeader,omitempty"`
	TransactionSignature *Signature         `protobuf:"bytes,2,opt,name=TransactionSignature,proto3" json:"TransactionSignature,omitempty"`
	Event                *PredictionEvent   `protobuf:"bytes,3,opt,name=Event,proto3" json:"Event,omitempty"`
	Prediction           *PredictionInfo    `protobuf:"bytes,4,opt,name=Prediction,proto3" json:"Prediction,omitempty"`
	IndexSets            []int32            `protobuf:"varint,5,rep,packed,name=IndexSets,proto3" json:"IndexSets,omitempty"` // indexes of Outcome tokens for split/merge in ConditionInfo, e.g. [0] for "Yes", [1] for "No", [0, 1] for split into both "Yes" and "No"
	Holder               []byte             `protobuf:"bytes,6,opt,name=Holder,proto3" json:"Holder,omitempty"`
	Amounts              *OutcomeSettlement `protobuf:"bytes,7,opt,name=Amounts,proto3" json:"Amounts,omitempty"` // for split: amount of received outcome tokens and paid collateral, for merge: amount of paid outcome tokens and received collateral, for redemption: amount of paid outcome tokens and received collateral
}

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

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

func (*PredictionSettlementEvent) ProtoMessage() {}

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

func (x *PredictionSettlementEvent) GetTransactionHeader() *TransactionHeader {
	if x != nil {
		return x.TransactionHeader
	}
	return nil
}

func (x *PredictionSettlementEvent) GetTransactionSignature() *Signature {
	if x != nil {
		return x.TransactionSignature
	}
	return nil
}

func (x *PredictionSettlementEvent) GetEvent() *PredictionEvent {
	if x != nil {
		return x.Event
	}
	return nil
}

func (x *PredictionSettlementEvent) GetPrediction() *PredictionInfo {
	if x != nil {
		return x.Prediction
	}
	return nil
}

func (x *PredictionSettlementEvent) GetIndexSets() []int32 {
	if x != nil {
		return x.IndexSets
	}
	return nil
}

func (x *PredictionSettlementEvent) GetHolder() []byte {
	if x != nil {
		return x.Holder
	}
	return nil
}

func (x *PredictionSettlementEvent) GetAmounts() *OutcomeSettlement {
	if x != nil {
		return x.Amounts
	}
	return nil
}

type OutcomeSettlement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Amount           []byte `protobuf:"bytes,1,opt,name=Amount,proto3" json:"Amount,omitempty"`
	CollateralAmount []byte `protobuf:"bytes,2,opt,name=CollateralAmount,proto3" json:"CollateralAmount,omitempty"`
}

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

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

func (*OutcomeSettlement) ProtoMessage() {}

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

func (x *OutcomeSettlement) GetAmount() []byte {
	if x != nil {
		return x.Amount
	}
	return nil
}

func (x *OutcomeSettlement) GetCollateralAmount() []byte {
	if x != nil {
		return x.CollateralAmount
	}
	return nil
}

type PredictionTradeEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TransactionHeader    *TransactionHeader `protobuf:"bytes,1,opt,name=TransactionHeader,proto3" json:"TransactionHeader,omitempty"`
	TransactionSignature *Signature         `protobuf:"bytes,2,opt,name=TransactionSignature,proto3" json:"TransactionSignature,omitempty"`
	Event                *PredictionEvent   `protobuf:"bytes,3,opt,name=Event,proto3" json:"Event,omitempty"`
	Prediction           *PredictionInfo    `protobuf:"bytes,4,opt,name=Prediction,proto3" json:"Prediction,omitempty"`
	OutcomeTrade         *OutcomeTrade      `protobuf:"bytes,5,opt,name=OutcomeTrade,proto3" json:"OutcomeTrade,omitempty"`
}

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

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

func (*PredictionTradeEvent) ProtoMessage() {}

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

func (x *PredictionTradeEvent) GetTransactionHeader() *TransactionHeader {
	if x != nil {
		return x.TransactionHeader
	}
	return nil
}

func (x *PredictionTradeEvent) GetTransactionSignature() *Signature {
	if x != nil {
		return x.TransactionSignature
	}
	return nil
}

func (x *PredictionTradeEvent) GetEvent() *PredictionEvent {
	if x != nil {
		return x.Event
	}
	return nil
}

func (x *PredictionTradeEvent) GetPrediction() *PredictionInfo {
	if x != nil {
		return x.Prediction
	}
	return nil
}

func (x *PredictionTradeEvent) GetOutcomeTrade() *OutcomeTrade {
	if x != nil {
		return x.OutcomeTrade
	}
	return nil
}

type OutcomeTrade struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Seller           []byte    `protobuf:"bytes,1,opt,name=Seller,proto3" json:"Seller,omitempty"`                     // maker in Polymarket
	Buyer            []byte    `protobuf:"bytes,2,opt,name=Buyer,proto3" json:"Buyer,omitempty"`                       // taker in Polymarket
	Amount           []byte    `protobuf:"bytes,3,opt,name=Amount,proto3" json:"Amount,omitempty"`                     // amount of Option tokens
	CollateralAmount []byte    `protobuf:"bytes,4,opt,name=CollateralAmount,proto3" json:"CollateralAmount,omitempty"` // amount of paid collaterals ( USDC )
	IsOutcomeBuy     bool      `protobuf:"varint,5,opt,name=IsOutcomeBuy,proto3" json:"IsOutcomeBuy,omitempty"`        // true if Buyer takes Outcome token for Colleteral
	Fee              *TradeFee `protobuf:"bytes,6,opt,name=Fee,proto3" json:"Fee,omitempty"`
	OrderId          []byte    `protobuf:"bytes,7,opt,name=OrderId,proto3" json:"OrderId,omitempty"`
}

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

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

func (*OutcomeTrade) ProtoMessage() {}

func (x *OutcomeTrade) ProtoReflect() protoreflect.Message {
	mi := &file_evm_prediction_market_block_message_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 OutcomeTrade.ProtoReflect.Descriptor instead.
func (*OutcomeTrade) Descriptor() ([]byte, []int) {
	return file_evm_prediction_market_block_message_proto_rawDescGZIP(), []int{6}
}

func (x *OutcomeTrade) GetSeller() []byte {
	if x != nil {
		return x.Seller
	}
	return nil
}

func (x *OutcomeTrade) GetBuyer() []byte {
	if x != nil {
		return x.Buyer
	}
	return nil
}

func (x *OutcomeTrade) GetAmount() []byte {
	if x != nil {
		return x.Amount
	}
	return nil
}

func (x *OutcomeTrade) GetCollateralAmount() []byte {
	if x != nil {
		return x.CollateralAmount
	}
	return nil
}

func (x *OutcomeTrade) GetIsOutcomeBuy() bool {
	if x != nil {
		return x.IsOutcomeBuy
	}
	return false
}

func (x *OutcomeTrade) GetFee() *TradeFee {
	if x != nil {
		return x.Fee
	}
	return nil
}

func (x *OutcomeTrade) GetOrderId() []byte {
	if x != nil {
		return x.OrderId
	}
	return nil
}

type PredictionInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Marketplace     *PredictionMarketplaceInfo `protobuf:"bytes,1,opt,name=Marketplace,proto3" json:"Marketplace,omitempty"`
	Question        *QuestionInfo              `protobuf:"bytes,2,opt,name=Question,proto3" json:"Question,omitempty"`
	Condition       *ConditionInfo             `protobuf:"bytes,3,opt,name=Condition,proto3" json:"Condition,omitempty"`
	Outcome         *OutcomeInfo               `protobuf:"bytes,4,opt,name=Outcome,proto3,oneof" json:"Outcome,omitempty"`
	OutcomeToken    *TokenInfo                 `protobuf:"bytes,5,opt,name=OutcomeToken,proto3,oneof" json:"OutcomeToken,omitempty"`       // traded outcome token for TRADE event || outcome token for RESOLVED event (empty if no winner)
	CollateralToken *TokenInfo                 `protobuf:"bytes,6,opt,name=CollateralToken,proto3,oneof" json:"CollateralToken,omitempty"` // USDC
}

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

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

func (*PredictionInfo) ProtoMessage() {}

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

func (x *PredictionInfo) GetMarketplace() *PredictionMarketplaceInfo {
	if x != nil {
		return x.Marketplace
	}
	return nil
}

func (x *PredictionInfo) GetQuestion() *QuestionInfo {
	if x != nil {
		return x.Question
	}
	return nil
}

func (x *PredictionInfo) GetCondition() *ConditionInfo {
	if x != nil {
		return x.Condition
	}
	return nil
}

func (x *PredictionInfo) GetOutcome() *OutcomeInfo {
	if x != nil {
		return x.Outcome
	}
	return nil
}

func (x *PredictionInfo) GetOutcomeToken() *TokenInfo {
	if x != nil {
		return x.OutcomeToken
	}
	return nil
}

func (x *PredictionInfo) GetCollateralToken() *TokenInfo {
	if x != nil {
		return x.CollateralToken
	}
	return nil
}

type PredictionEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SmartContract []byte `protobuf:"bytes,1,opt,name=SmartContract,proto3" json:"SmartContract,omitempty"`
	CallIndex     uint64 `protobuf:"varint,2,opt,name=CallIndex,proto3" json:"CallIndex,omitempty"`
	LogIndex      uint64 `protobuf:"varint,3,opt,name=LogIndex,proto3" json:"LogIndex,omitempty"`
	Type          string `protobuf:"bytes,4,opt,name=Type,proto3" json:"Type,omitempty"`
}

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

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

func (*PredictionEvent) ProtoMessage() {}

func (x *PredictionEvent) ProtoReflect() protoreflect.Message {
	mi := &file_evm_prediction_market_block_message_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 PredictionEvent.ProtoReflect.Descriptor instead.
func (*PredictionEvent) Descriptor() ([]byte, []int) {
	return file_evm_prediction_market_block_message_proto_rawDescGZIP(), []int{8}
}

func (x *PredictionEvent) GetSmartContract() []byte {
	if x != nil {
		return x.SmartContract
	}
	return nil
}

func (x *PredictionEvent) GetCallIndex() uint64 {
	if x != nil {
		return x.CallIndex
	}
	return 0
}

func (x *PredictionEvent) GetLogIndex() uint64 {
	if x != nil {
		return x.LogIndex
	}
	return 0
}

func (x *PredictionEvent) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

type QuestionInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id               []byte `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`             // question id, "0x78784dce991b76362f0409fc26e2a16aa0e520da3d47d4389bc55580850ff4d6" for polymarket
	MarketId         string `protobuf:"bytes,2,opt,name=MarketId,proto3" json:"MarketId,omitempty"` // https://gamma-api.polymarket.com/markets/{market_id} to get all the data
	Title            string `protobuf:"bytes,3,opt,name=Title,proto3" json:"Title,omitempty"`
	CreatedAt        uint64 `protobuf:"varint,4,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty"`
	ResolutionSource string `protobuf:"bytes,5,opt,name=ResolutionSource,proto3" json:"ResolutionSource,omitempty"` // "https://data.chain.link/streams/eth-usd",
	Image            string `protobuf:"bytes,6,opt,name=Image,proto3" json:"Image,omitempty"`                       // https://polymarket-upload.s3.us-east-2.amazonaws.com/ETH+fullsize.jpg
}

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

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

func (*QuestionInfo) ProtoMessage() {}

func (x *QuestionInfo) ProtoReflect() protoreflect.Message {
	mi := &file_evm_prediction_market_block_message_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 QuestionInfo.ProtoReflect.Descriptor instead.
func (*QuestionInfo) Descriptor() ([]byte, []int) {
	return file_evm_prediction_market_block_message_proto_rawDescGZIP(), []int{9}
}

func (x *QuestionInfo) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *QuestionInfo) GetMarketId() string {
	if x != nil {
		return x.MarketId
	}
	return ""
}

func (x *QuestionInfo) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *QuestionInfo) GetCreatedAt() uint64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *QuestionInfo) GetResolutionSource() string {
	if x != nil {
		return x.ResolutionSource
	}
	return ""
}

func (x *QuestionInfo) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

type ConditionInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id         []byte         `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"` // condition id, "0x03a8a2d4ca694f0cfe9b700ed745a41694dfcfa40110ef68d08bf0d077f98acb" for polymarket
	QuestionId []byte         `protobuf:"bytes,2,opt,name=QuestionId,proto3" json:"QuestionId,omitempty"`
	Outcomes   []*OutcomeInfo `protobuf:"bytes,3,rep,name=Outcomes,proto3" json:"Outcomes,omitempty"`
	Oracle     []byte         `protobuf:"bytes,4,opt,name=Oracle,proto3" json:"Oracle,omitempty"`
}

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

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

func (*ConditionInfo) ProtoMessage() {}

func (x *ConditionInfo) ProtoReflect() protoreflect.Message {
	mi := &file_evm_prediction_market_block_message_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 ConditionInfo.ProtoReflect.Descriptor instead.
func (*ConditionInfo) Descriptor() ([]byte, []int) {
	return file_evm_prediction_market_block_message_proto_rawDescGZIP(), []int{10}
}

func (x *ConditionInfo) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *ConditionInfo) GetQuestionId() []byte {
	if x != nil {
		return x.QuestionId
	}
	return nil
}

func (x *ConditionInfo) GetOutcomes() []*OutcomeInfo {
	if x != nil {
		return x.Outcomes
	}
	return nil
}

func (x *ConditionInfo) GetOracle() []byte {
	if x != nil {
		return x.Oracle
	}
	return nil
}

type OutcomeInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id    []byte `protobuf:"bytes,1,opt,name=Id,proto3,oneof" json:"Id,omitempty"`  // ERC1155 token ID for outcome token or other id: 30047082238364305580334875801842609424049121375805509630177240923852213311546
	Index uint32 `protobuf:"varint,2,opt,name=Index,proto3" json:"Index,omitempty"` // index in ConditionInfo (0, 1...)
	Label string `protobuf:"bytes,3,opt,name=Label,proto3" json:"Label,omitempty"`  // for outcome: Yes, No, etc
}

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

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

func (*OutcomeInfo) ProtoMessage() {}

func (x *OutcomeInfo) ProtoReflect() protoreflect.Message {
	mi := &file_evm_prediction_market_block_message_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 OutcomeInfo.ProtoReflect.Descriptor instead.
func (*OutcomeInfo) Descriptor() ([]byte, []int) {
	return file_evm_prediction_market_block_message_proto_rawDescGZIP(), []int{11}
}

func (x *OutcomeInfo) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *OutcomeInfo) GetIndex() uint32 {
	if x != nil {
		return x.Index
	}
	return 0
}

func (x *OutcomeInfo) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

var File_evm_prediction_market_block_message_proto protoreflect.FileDescriptor

var file_evm_prediction_market_block_message_proto_rawDesc = []byte{
	0x0a, 0x29, 0x65, 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x76, 0x6d,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x17, 0x65, 0x76, 0x6d, 0x2f, 0x62,
	0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x76, 0x6d, 0x2f, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x6c, 0x6f, 0x63,
	0x6b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x1d, 0x65, 0x76, 0x6d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5,
	0x03, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x29, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x43, 0x68,
	0x61, 0x69, 0x6e, 0x52, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x76, 0x6d,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3a, 0x0a,
	0x08, 0x4c, 0x31, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x19, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x42,
	0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x4c, 0x31,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0b, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x50, 0x72,
	0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12,
	0x53, 0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x76, 0x6d, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x52, 0x10, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76,
	0x65, 0x6e, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
	0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x50, 0x72,
	0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x4c, 0x31,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xf7, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x69,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e,
	0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x53, 0x6d, 0x61,
	0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26,
	0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20,
	0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6f,
	0x22, 0xcc, 0x02, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4d,
	0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x76, 0x6d, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x11, 0x54, 0x72, 0x61, 0x6e,
	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4b, 0x0a,
	0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x76,
	0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x52, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x45, 0x76,
	0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x76, 0x6d, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
	0x3c, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a,
	0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0x9b, 0x03, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65,
	0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a,
	0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73,
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x14,
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x76, 0x6d,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x52, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c,
	0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
	0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52,
	0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x65, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x6f,
	0x6c, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x48, 0x6f, 0x6c, 0x64,
	0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x73, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a,
	0x11, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6f,
	0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c,
	0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x64, 0x69,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
	0x4d, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x76, 0x6d,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x11, 0x54, 0x72, 0x61,
	0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4b,
	0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67,
	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65,
	0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x45,
	0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x76, 0x6d,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x12, 0x3c, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e,
	0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x73, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x52, 0x0c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x22, 0xe8,
	0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12,
	0x16, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x06, 0x53, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x75, 0x79, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x42, 0x75, 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x41,
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65,
	0x72, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x75,
	0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x49, 0x73, 0x4f, 0x75, 0x74, 0x63, 0x6f,
	0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x28, 0x0a, 0x03, 0x46, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x73, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x46, 0x65, 0x65, 0x52, 0x03, 0x46, 0x65, 0x65, 0x12,
	0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc3, 0x03, 0x0a, 0x0e, 0x50, 0x72,
	0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x27, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
	0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x6b, 0x65,
	0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x76, 0x6d, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
	0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x39, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x07, 0x4f, 0x75,
	0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x76,
	0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f,
	0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d,
	0x65, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x76, 0x6d,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49,
	0x6e, 0x66, 0x6f, 0x48, 0x01, 0x52, 0x0c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x0f, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74,
	0x65, 0x72, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x17, 0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x02, 0x52, 0x0f, 0x43, 0x6f, 0x6c, 0x6c,
	0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a,
	0x0a, 0x08, 0x5f, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x4f,
	0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f,
	0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
	0x85, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76,
	0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74,
	0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x53, 0x6d, 0x61, 0x72,
	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x61, 0x6c,
	0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x43, 0x61,
	0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x49, 0x6e,
	0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x4c, 0x6f, 0x67, 0x49, 0x6e,
	0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x73,
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f,
	0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x43,
	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
	0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08,
	0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x65, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4f, 0x75,
	0x74, 0x63, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x4f, 0x75, 0x74, 0x63, 0x6f,
	0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x06, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x4f,
	0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x0a, 0x02, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x02, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12,
	0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
	0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x5f,
	0x49, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_evm_prediction_market_block_message_proto_rawDescOnce sync.Once
	file_evm_prediction_market_block_message_proto_rawDescData = file_evm_prediction_market_block_message_proto_rawDesc
)

func file_evm_prediction_market_block_message_proto_rawDescGZIP() []byte {
	file_evm_prediction_market_block_message_proto_rawDescOnce.Do(func() {
		file_evm_prediction_market_block_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_evm_prediction_market_block_message_proto_rawDescData)
	})
	return file_evm_prediction_market_block_message_proto_rawDescData
}

var file_evm_prediction_market_block_message_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_evm_prediction_market_block_message_proto_goTypes = []any{
	(*PredictionMarketBlockMessage)(nil), // 0: evm_messages.PredictionMarketBlockMessage
	(*PredictionMarketplaceInfo)(nil),    // 1: evm_messages.PredictionMarketplaceInfo
	(*PredictionManagementEvent)(nil),    // 2: evm_messages.PredictionManagementEvent
	(*PredictionSettlementEvent)(nil),    // 3: evm_messages.PredictionSettlementEvent
	(*OutcomeSettlement)(nil),            // 4: evm_messages.OutcomeSettlement
	(*PredictionTradeEvent)(nil),         // 5: evm_messages.PredictionTradeEvent
	(*OutcomeTrade)(nil),                 // 6: evm_messages.OutcomeTrade
	(*PredictionInfo)(nil),               // 7: evm_messages.PredictionInfo
	(*PredictionEvent)(nil),              // 8: evm_messages.PredictionEvent
	(*QuestionInfo)(nil),                 // 9: evm_messages.QuestionInfo
	(*ConditionInfo)(nil),                // 10: evm_messages.ConditionInfo
	(*OutcomeInfo)(nil),                  // 11: evm_messages.OutcomeInfo
	(*Chain)(nil),                        // 12: evm_messages.Chain
	(*BlockHeader)(nil),                  // 13: evm_messages.BlockHeader
	(*TransactionHeader)(nil),            // 14: evm_messages.TransactionHeader
	(*Signature)(nil),                    // 15: evm_messages.Signature
	(*TradeFee)(nil),                     // 16: evm_messages.TradeFee
	(*TokenInfo)(nil),                    // 17: evm_messages.TokenInfo
}
var file_evm_prediction_market_block_message_proto_depIdxs = []int32{
	12, // 0: evm_messages.PredictionMarketBlockMessage.Chain:type_name -> evm_messages.Chain
	13, // 1: evm_messages.PredictionMarketBlockMessage.Header:type_name -> evm_messages.BlockHeader
	13, // 2: evm_messages.PredictionMarketBlockMessage.L1Header:type_name -> evm_messages.BlockHeader
	5,  // 3: evm_messages.PredictionMarketBlockMessage.TradeEvents:type_name -> evm_messages.PredictionTradeEvent
	2,  // 4: evm_messages.PredictionMarketBlockMessage.ManagementEvents:type_name -> evm_messages.PredictionManagementEvent
	3,  // 5: evm_messages.PredictionMarketBlockMessage.SettlementEvents:type_name -> evm_messages.PredictionSettlementEvent
	14, // 6: evm_messages.PredictionManagementEvent.TransactionHeader:type_name -> evm_messages.TransactionHeader
	15, // 7: evm_messages.PredictionManagementEvent.TransactionSignature:type_name -> evm_messages.Signature
	8,  // 8: evm_messages.PredictionManagementEvent.Event:type_name -> evm_messages.PredictionEvent
	7,  // 9: evm_messages.PredictionManagementEvent.Prediction:type_name -> evm_messages.PredictionInfo
	14, // 10: evm_messages.PredictionSettlementEvent.TransactionHeader:type_name -> evm_messages.TransactionHeader
	15, // 11: evm_messages.PredictionSettlementEvent.TransactionSignature:type_name -> evm_messages.Signature
	8,  // 12: evm_messages.PredictionSettlementEvent.Event:type_name -> evm_messages.PredictionEvent
	7,  // 13: evm_messages.PredictionSettlementEvent.Prediction:type_name -> evm_messages.PredictionInfo
	4,  // 14: evm_messages.PredictionSettlementEvent.Amounts:type_name -> evm_messages.OutcomeSettlement
	14, // 15: evm_messages.PredictionTradeEvent.TransactionHeader:type_name -> evm_messages.TransactionHeader
	15, // 16: evm_messages.PredictionTradeEvent.TransactionSignature:type_name -> evm_messages.Signature
	8,  // 17: evm_messages.PredictionTradeEvent.Event:type_name -> evm_messages.PredictionEvent
	7,  // 18: evm_messages.PredictionTradeEvent.Prediction:type_name -> evm_messages.PredictionInfo
	6,  // 19: evm_messages.PredictionTradeEvent.OutcomeTrade:type_name -> evm_messages.OutcomeTrade
	16, // 20: evm_messages.OutcomeTrade.Fee:type_name -> evm_messages.TradeFee
	1,  // 21: evm_messages.PredictionInfo.Marketplace:type_name -> evm_messages.PredictionMarketplaceInfo
	9,  // 22: evm_messages.PredictionInfo.Question:type_name -> evm_messages.QuestionInfo
	10, // 23: evm_messages.PredictionInfo.Condition:type_name -> evm_messages.ConditionInfo
	11, // 24: evm_messages.PredictionInfo.Outcome:type_name -> evm_messages.OutcomeInfo
	17, // 25: evm_messages.PredictionInfo.OutcomeToken:type_name -> evm_messages.TokenInfo
	17, // 26: evm_messages.PredictionInfo.CollateralToken:type_name -> evm_messages.TokenInfo
	11, // 27: evm_messages.ConditionInfo.Outcomes:type_name -> evm_messages.OutcomeInfo
	28, // [28:28] is the sub-list for method output_type
	28, // [28:28] is the sub-list for method input_type
	28, // [28:28] is the sub-list for extension type_name
	28, // [28:28] is the sub-list for extension extendee
	0,  // [0:28] is the sub-list for field type_name
}

func init() { file_evm_prediction_market_block_message_proto_init() }
func file_evm_prediction_market_block_message_proto_init() {
	if File_evm_prediction_market_block_message_proto != nil {
		return
	}
	file_evm_block_message_proto_init()
	file_evm_dex_block_message_proto_init()
	file_evm_token_block_message_proto_init()
	file_evm_prediction_market_block_message_proto_msgTypes[0].OneofWrappers = []any{}
	file_evm_prediction_market_block_message_proto_msgTypes[7].OneofWrappers = []any{}
	file_evm_prediction_market_block_message_proto_msgTypes[11].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_evm_prediction_market_block_message_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_evm_prediction_market_block_message_proto_goTypes,
		DependencyIndexes: file_evm_prediction_market_block_message_proto_depIdxs,
		MessageInfos:      file_evm_prediction_market_block_message_proto_msgTypes,
	}.Build()
	File_evm_prediction_market_block_message_proto = out.File
	file_evm_prediction_market_block_message_proto_rawDesc = nil
	file_evm_prediction_market_block_message_proto_goTypes = nil
	file_evm_prediction_market_block_message_proto_depIdxs = nil
}
