package protos

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

type TxSetStateValue struct {

	Nonce uint64 `protobuf:"varint,1,opt,name=nonce" json:"nonce,omitempty"`

	IntroBlock uint64 `protobuf:"varint,2,opt,name=introBlock" json:"introBlock,omitempty"`

	LastModifiedAtBlock uint64 `protobuf:"varint,3,opt,name=lastModifiedAtBlock" json:"lastModifiedAtBlock,omitempty"`

	Index uint64 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`

	TxNumber uint64 `protobuf:"varint,5,opt,name=txNumber" json:"txNumber,omitempty"`

	IndexAtBlock []*TxSetIndex `protobuf:"bytes,6,rep,name=indexAtBlock" json:"indexAtBlock,omitempty"`
}

func (m *TxSetStateValue) Reset()                    { *m = TxSetStateValue{} }
func (m *TxSetStateValue) String() string            { return proto.CompactTextString(m) }
func (*TxSetStateValue) ProtoMessage()               {}
func (*TxSetStateValue) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }

func (m *TxSetStateValue) GetIndexAtBlock() []*TxSetIndex {
	if m != nil {
		return m.IndexAtBlock
	}
	return nil
}

type TxSetIndex struct {

	BlockNr uint64 `protobuf:"varint,1,opt,name=blockNr" json:"blockNr,omitempty"`

	InBlockIndex uint64 `protobuf:"varint,2,opt,name=inBlockIndex" json:"inBlockIndex,omitempty"`
}

func (m *TxSetIndex) Reset()                    { *m = TxSetIndex{} }
func (m *TxSetIndex) String() string            { return proto.CompactTextString(m) }
func (*TxSetIndex) ProtoMessage()               {}
func (*TxSetIndex) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }

type TxSetToBlock struct {

	IndexInBlock map[uint64]uint64 `protobuf:"bytes,1,rep,name=indexInBlock" json:"indexInBlock,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
}

func (m *TxSetToBlock) Reset()                    { *m = TxSetToBlock{} }
func (m *TxSetToBlock) String() string            { return proto.CompactTextString(m) }
func (*TxSetToBlock) ProtoMessage()               {}
func (*TxSetToBlock) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{2} }

func (m *TxSetToBlock) GetIndexInBlock() map[uint64]uint64 {
	if m != nil {
		return m.IndexInBlock
	}
	return nil
}

func init() {
	proto.RegisterType((*TxSetStateValue)(nil), "protos.TxSetStateValue")
	proto.RegisterType((*TxSetIndex)(nil), "protos.TxSetIndex")
	proto.RegisterType((*TxSetToBlock)(nil), "protos.TxSetToBlock")
}

func init() { proto.RegisterFile("state.proto", fileDescriptor7) }

var fileDescriptor7 = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x91, 0xc1, 0x4b, 0xc3, 0x30,
	0x14, 0xc6, 0xc9, 0xba, 0x4d, 0x79, 0x1b, 0xa8, 0x51, 0x24, 0xec, 0x20, 0xa3, 0x07, 0xd9, 0xa9,
	0x88, 0x82, 0x88, 0x17, 0x71, 0xe0, 0xa1, 0x03, 0x77, 0xe8, 0x86, 0xf7, 0x76, 0x7d, 0xce, 0xb2,
	0xda, 0x8c, 0x34, 0x93, 0xf6, 0x6f, 0xf1, 0xcf, 0xf3, 0x1f, 0x71, 0x79, 0xc9, 0x74, 0x45, 0x4f,
	0xed, 0x97, 0xef, 0x97, 0x97, 0xef, 0x4b, 0xa0, 0x57, 0xea, 0x58, 0x63, 0xb0, 0x56, 0x52, 0x4b,
	0xde, 0xa5, 0x4f, 0xe9, 0x7f, 0x31, 0x38, 0x9a, 0x57, 0x33, 0xd4, 0x33, 0x63, 0xbe, 0xc4, 0xf9,
	0x06, 0xf9, 0x19, 0x74, 0x0a, 0x59, 0x2c, 0x50, 0xb0, 0x21, 0x1b, 0xb5, 0x23, 0x2b, 0xf8, 0x05,
	0x40, 0x56, 0x68, 0x25, 0xc7, 0xb9, 0x5c, 0xac, 0x44, 0x8b, 0xac, 0xbd, 0x15, 0x7e, 0x05, 0xa7,
	0x79, 0x5c, 0xea, 0x67, 0x99, 0x66, 0xaf, 0x19, 0xa6, 0x8f, 0xda, 0x82, 0x1e, 0x81, 0xff, 0x59,
	0xe6, 0x9c, 0xac, 0x48, 0xb1, 0x12, 0x6d, 0x7b, 0x0e, 0x09, 0x3e, 0x80, 0x43, 0x5d, 0x4d, 0x37,
	0xef, 0x09, 0x2a, 0xd1, 0x21, 0xe3, 0x47, 0xf3, 0x5b, 0xe8, 0x13, 0xb4, 0x1b, 0xde, 0x1d, 0x7a,
	0xa3, 0xde, 0x35, 0xb7, 0x9d, 0xca, 0x80, 0x8a, 0x84, 0x06, 0x88, 0x1a, 0x9c, 0x3f, 0x01, 0xf8,
	0xf5, 0xb8, 0x80, 0x83, 0xc4, 0x2c, 0x4f, 0x95, 0x6b, 0xb8, 0x93, 0xdc, 0x37, 0xf3, 0x69, 0x0b,
	0x91, 0xae, 0x65, 0x63, 0xcd, 0xff, 0x64, 0xd0, 0xa7, 0x61, 0x73, 0x57, 0x7c, 0xe2, 0x42, 0x85,
	0x96, 0xda, 0xce, 0x34, 0xa1, 0x2e, 0x1b, 0xa1, 0x1c, 0x1b, 0x84, 0x7b, 0xe0, 0xd3, 0xf6, 0xee,
	0xea, 0xa8, 0xb1, 0x77, 0xf0, 0x00, 0x27, 0x7f, 0x10, 0x7e, 0x0c, 0xde, 0x0a, 0x6b, 0x97, 0xd5,
	0xfc, 0x9a, 0x9b, 0xfb, 0x30, 0x4f, 0xe5, 0x02, 0x5a, 0x71, 0xdf, 0xba, 0x63, 0x63, 0x01, 0xe7,
	0x52, 0x2d, 0x83, 0xb7, 0x7a, 0x8d, 0x2a, 0xc7, 0x74, 0x89, 0xca, 0xe5, 0x48, 0xec, 0x8b, 0xdf,
	0x7c, 0x07, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x5f, 0xa9, 0xca, 0x07, 0x02, 0x00, 0x00,
}
// Code generated by protoc-gen-go.
// source: state.proto
// DO NOT EDIT!

package protos

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// The representation of the state of a transactions set
type TxSetStateValue struct {
	// Nonce incremented every time the state of this Tx Set is changed
	Nonce uint64 `protobuf:"varint,1,opt,name=nonce" json:"nonce,omitempty"`
	// The block at which the transactions set referenced by this state was introduced
	IntroBlock uint64 `protobuf:"varint,2,opt,name=introBlock" json:"introBlock,omitempty"`
	// The last block in which this state was modified
	LastModifiedAtBlock uint64 `protobuf:"varint,3,opt,name=lastModifiedAtBlock" json:"lastModifiedAtBlock,omitempty"`
	// Index of the current default transaction
	Index uint64 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	// The number of transactions that belong to this Transactions Set
	TxNumber uint64 `protobuf:"varint,5,opt,name=txNumber" json:"txNumber,omitempty"`
	// txsInBlock[i] gives a index - block information for this transactions set
	// For instance txsInBlock[i].inBlockIndex gives the starting index of the transactions
	// in this set assigned to that block.
	// e.g. if txsInBlock[i].inBlockIndex == 7 and txsInBlock[i].blockNr == 2 mean that the 8-th transaction
	// of this transactions set is stored at block 2
	IndexAtBlock []*TxSetIndex `protobuf:"bytes,6,rep,name=indexAtBlock" json:"indexAtBlock,omitempty"`
}

func (m *TxSetStateValue) Reset()                    { *m = TxSetStateValue{} }
func (m *TxSetStateValue) String() string            { return proto.CompactTextString(m) }
func (*TxSetStateValue) ProtoMessage()               {}
func (*TxSetStateValue) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }

func (m *TxSetStateValue) GetIndexAtBlock() []*TxSetIndex {
	if m != nil {
		return m.IndexAtBlock
	}
	return nil
}

// The TxSetIndex identifies a transaction among the ones
// of a transactions set by providing the block number where that
// transaction was defined and the index among the transactions
// belonging to the part of the set included in that block number.
type TxSetIndex struct {
	// The block where the transaction at which this index refers to is contained
	BlockNr uint64 `protobuf:"varint,1,opt,name=blockNr" json:"blockNr,omitempty"`
	// Index of a transaction among the list of transactions belonging
	// to the transactions set at blockNr
	InBlockIndex uint64 `protobuf:"varint,2,opt,name=inBlockIndex" json:"inBlockIndex,omitempty"`
}

func (m *TxSetIndex) Reset()                    { *m = TxSetIndex{} }
func (m *TxSetIndex) String() string            { return proto.CompactTextString(m) }
func (*TxSetIndex) ProtoMessage()               {}
func (*TxSetIndex) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }

// Used to index a transactions set in the db
type TxSetToBlock struct {
	// The index from the transactions of a given block at which this txSet was registered
	IndexInBlock map[uint64]uint64 `protobuf:"bytes,1,rep,name=indexInBlock" json:"indexInBlock,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
}

func (m *TxSetToBlock) Reset()                    { *m = TxSetToBlock{} }
func (m *TxSetToBlock) String() string            { return proto.CompactTextString(m) }
func (*TxSetToBlock) ProtoMessage()               {}
func (*TxSetToBlock) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{2} }

func (m *TxSetToBlock) GetIndexInBlock() map[uint64]uint64 {
	if m != nil {
		return m.IndexInBlock
	}
	return nil
}

func init() {
	proto.RegisterType((*TxSetStateValue)(nil), "protos.TxSetStateValue")
	proto.RegisterType((*TxSetIndex)(nil), "protos.TxSetIndex")
	proto.RegisterType((*TxSetToBlock)(nil), "protos.TxSetToBlock")
}

func init() { proto.RegisterFile("state.proto", fileDescriptor7) }

var fileDescriptor7 = []byte{
	// 302 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x91, 0xc1, 0x4b, 0xc3, 0x30,
	0x14, 0xc6, 0xc9, 0xba, 0x4d, 0x79, 0x1b, 0xa8, 0x51, 0x24, 0xec, 0x20, 0xa3, 0x07, 0xd9, 0xa9,
	0x88, 0x82, 0x88, 0x17, 0x71, 0xe0, 0xa1, 0x03, 0x77, 0xe8, 0x86, 0xf7, 0x76, 0x7d, 0xce, 0xb2,
	0xda, 0x8c, 0x34, 0x93, 0xf6, 0x6f, 0xf1, 0xcf, 0xf3, 0x1f, 0x71, 0x79, 0xc9, 0x74, 0x45, 0x4f,
	0xed, 0x97, 0xef, 0x97, 0x97, 0xef, 0x4b, 0xa0, 0x57, 0xea, 0x58, 0x63, 0xb0, 0x56, 0x52, 0x4b,
	0xde, 0xa5, 0x4f, 0xe9, 0x7f, 0x31, 0x38, 0x9a, 0x57, 0x33, 0xd4, 0x33, 0x63, 0xbe, 0xc4, 0xf9,
	0x06, 0xf9, 0x19, 0x74, 0x0a, 0x59, 0x2c, 0x50, 0xb0, 0x21, 0x1b, 0xb5, 0x23, 0x2b, 0xf8, 0x05,
	0x40, 0x56, 0x68, 0x25, 0xc7, 0xb9, 0x5c, 0xac, 0x44, 0x8b, 0xac, 0xbd, 0x15, 0x7e, 0x05, 0xa7,
	0x79, 0x5c, 0xea, 0x67, 0x99, 0x66, 0xaf, 0x19, 0xa6, 0x8f, 0xda, 0x82, 0x1e, 0x81, 0xff, 0x59,
	0xe6, 0x9c, 0xac, 0x48, 0xb1, 0x12, 0x6d, 0x7b, 0x0e, 0x09, 0x3e, 0x80, 0x43, 0x5d, 0x4d, 0x37,
	0xef, 0x09, 0x2a, 0xd1, 0x21, 0xe3, 0x47, 0xf3, 0x5b, 0xe8, 0x13, 0xb4, 0x1b, 0xde, 0x1d, 0x7a,
	0xa3, 0xde, 0x35, 0xb7, 0x9d, 0xca, 0x80, 0x8a, 0x84, 0x06, 0x88, 0x1a, 0x9c, 0x3f, 0x01, 0xf8,
	0xf5, 0xb8, 0x80, 0x83, 0xc4, 0x2c, 0x4f, 0x95, 0x6b, 0xb8, 0x93, 0xdc, 0x37, 0xf3, 0x69, 0x0b,
	0x91, 0xae, 0x65, 0x63, 0xcd, 0xff, 0x64, 0xd0, 0xa7, 0x61, 0x73, 0x57, 0x7c, 0xe2, 0x42, 0x85,
	0x96, 0xda, 0xce, 0x34, 0xa1, 0x2e, 0x1b, 0xa1, 0x1c, 0x1b, 0x84, 0x7b, 0xe0, 0xd3, 0xf6, 0xee,
	0xea, 0xa8, 0xb1, 0x77, 0xf0, 0x00, 0x27, 0x7f, 0x10, 0x7e, 0x0c, 0xde, 0x0a, 0x6b, 0x97, 0xd5,
	0xfc, 0x9a, 0x9b, 0xfb, 0x30, 0x4f, 0xe5, 0x02, 0x5a, 0x71, 0xdf, 0xba, 0x63, 0x63, 0x01, 0xe7,
	0x52, 0x2d, 0x83, 0xb7, 0x7a, 0x8d, 0x2a, 0xc7, 0x74, 0x89, 0xca, 0xe5, 0x48, 0xec, 0x8b, 0xdf,
	0x7c, 0x07, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x5f, 0xa9, 0xca, 0x07, 0x02, 0x00, 0x00,
}
