rollupv1

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2025 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DisconnectMessage_Reason_name = map[int32]string{
		0: "REQUESTED",
		1: "PROTOCOL_ERROR",
		2: "TOO_MANY_PEERS",
		3: "AUTH_FAILURE",
		4: "READ_TIMEOUT",
		5: "WRITE_TIMEOUT",
		6: "NETWORK_ERROR",
		7: "INTERNAL_ERROR",
		8: "THROTTLED",
	}
	DisconnectMessage_Reason_value = map[string]int32{
		"REQUESTED":      0,
		"PROTOCOL_ERROR": 1,
		"TOO_MANY_PEERS": 2,
		"AUTH_FAILURE":   3,
		"READ_TIMEOUT":   4,
		"WRITE_TIMEOUT":  5,
		"NETWORK_ERROR":  6,
		"INTERNAL_ERROR": 7,
		"THROTTLED":      8,
	}
)

Enum value maps for DisconnectMessage_Reason.

View Source
var File_rollup_v1_consensus_proto protoreflect.FileDescriptor
View Source
var File_rollup_v1_messages_proto protoreflect.FileDescriptor
View Source
var File_rollup_v1_sbcp_proto protoreflect.FileDescriptor
View Source
var File_rollup_v1_transport_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Block

type Block struct {
	ChainId       []byte  `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`                     // Which chain's block
	BlockData     []byte  `protobuf:"bytes,2,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"`               // The actual block data
	IncludedXtIds []*XtID `protobuf:"bytes,3,rep,name=included_xt_ids,json=includedXtIds,proto3" json:"included_xt_ids,omitempty"` // Which xTs are included
	// contains filtered or unexported fields
}

Block submission from a sequencer to the SP (deprecated, kept for backward compatibility)

func (*Block) Descriptor deprecated

func (*Block) Descriptor() ([]byte, []int)

Deprecated: Use Block.ProtoReflect.Descriptor instead.

func (*Block) GetBlockData

func (x *Block) GetBlockData() []byte

func (*Block) GetChainId

func (x *Block) GetChainId() []byte

func (*Block) GetIncludedXtIds

func (x *Block) GetIncludedXtIds() []*XtID

func (*Block) ProtoMessage

func (*Block) ProtoMessage()

func (*Block) ProtoReflect

func (x *Block) ProtoReflect() protoreflect.Message

func (*Block) Reset

func (x *Block) Reset()

func (*Block) String

func (x *Block) String() string

type CIRCMessage

type CIRCMessage struct {
	SourceChain      []byte   `protobuf:"bytes,1,opt,name=source_chain,json=sourceChain,proto3" json:"source_chain,omitempty"`
	DestinationChain []byte   `protobuf:"bytes,2,opt,name=destination_chain,json=destinationChain,proto3" json:"destination_chain,omitempty"`
	Source           [][]byte `protobuf:"bytes,3,rep,name=source,proto3" json:"source,omitempty"`
	Receiver         [][]byte `protobuf:"bytes,4,rep,name=receiver,proto3" json:"receiver,omitempty"`
	XtId             *XtID    `protobuf:"bytes,5,opt,name=xt_id,json=xtId,proto3" json:"xt_id,omitempty"`
	Label            string   `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"`
	Data             [][]byte `protobuf:"bytes,7,rep,name=data,proto3" json:"data,omitempty"`                            // ABI encoded data
	SessionId        []byte   `protobuf:"bytes,8,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // 32-byte big-endian session identifier (U256)
	// contains filtered or unexported fields
}

CIRCMessage for direct message exchange between sequencers

func (*CIRCMessage) Descriptor deprecated

func (*CIRCMessage) Descriptor() ([]byte, []int)

Deprecated: Use CIRCMessage.ProtoReflect.Descriptor instead.

func (*CIRCMessage) GetData

func (x *CIRCMessage) GetData() [][]byte

func (*CIRCMessage) GetDestinationChain

func (x *CIRCMessage) GetDestinationChain() []byte

func (*CIRCMessage) GetLabel

func (x *CIRCMessage) GetLabel() string

func (*CIRCMessage) GetReceiver

func (x *CIRCMessage) GetReceiver() [][]byte

func (*CIRCMessage) GetSessionId

func (x *CIRCMessage) GetSessionId() []byte

func (*CIRCMessage) GetSource

func (x *CIRCMessage) GetSource() [][]byte

func (*CIRCMessage) GetSourceChain

func (x *CIRCMessage) GetSourceChain() []byte

func (*CIRCMessage) GetXtId

func (x *CIRCMessage) GetXtId() *XtID

func (*CIRCMessage) ProtoMessage

func (*CIRCMessage) ProtoMessage()

func (*CIRCMessage) ProtoReflect

func (x *CIRCMessage) ProtoReflect() protoreflect.Message

func (*CIRCMessage) Reset

func (x *CIRCMessage) Reset()

func (*CIRCMessage) String

func (x *CIRCMessage) String() string

type Decided

type Decided struct {
	XtId     *XtID `protobuf:"bytes,1,opt,name=xt_id,json=xtId,proto3" json:"xt_id,omitempty"` // Transaction ID
	Decision bool  `protobuf:"varint,2,opt,name=decision,proto3" json:"decision,omitempty"`    // true = Commit, false = Abort
	// contains filtered or unexported fields
}

Decided is a 2PC decision message from the SP to sequencers

func (*Decided) Descriptor deprecated

func (*Decided) Descriptor() ([]byte, []int)

Deprecated: Use Decided.ProtoReflect.Descriptor instead.

func (*Decided) GetDecision

func (x *Decided) GetDecision() bool

func (*Decided) GetXtId

func (x *Decided) GetXtId() *XtID

func (*Decided) ProtoMessage

func (*Decided) ProtoMessage()

func (*Decided) ProtoReflect

func (x *Decided) ProtoReflect() protoreflect.Message

func (*Decided) Reset

func (x *Decided) Reset()

func (*Decided) String

func (x *Decided) String() string

type DisconnectMessage

type DisconnectMessage struct {
	Reason  DisconnectMessage_Reason `protobuf:"varint,1,opt,name=reason,proto3,enum=rollup.v1.DisconnectMessage_Reason" json:"reason,omitempty"` // Disconnect reason code
	Details string                   `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`                                        // Human-readable details (optional)
	// contains filtered or unexported fields
}

DisconnectMessage is sent when gracefully closing a connection

func (*DisconnectMessage) Descriptor deprecated

func (*DisconnectMessage) Descriptor() ([]byte, []int)

Deprecated: Use DisconnectMessage.ProtoReflect.Descriptor instead.

func (*DisconnectMessage) GetDetails

func (x *DisconnectMessage) GetDetails() string

func (*DisconnectMessage) GetReason

func (*DisconnectMessage) ProtoMessage

func (*DisconnectMessage) ProtoMessage()

func (*DisconnectMessage) ProtoReflect

func (x *DisconnectMessage) ProtoReflect() protoreflect.Message

func (*DisconnectMessage) Reset

func (x *DisconnectMessage) Reset()

func (*DisconnectMessage) String

func (x *DisconnectMessage) String() string

type DisconnectMessage_Reason

type DisconnectMessage_Reason int32
const (
	DisconnectMessage_REQUESTED      DisconnectMessage_Reason = 0 // Client or server requested disconnect
	DisconnectMessage_PROTOCOL_ERROR DisconnectMessage_Reason = 1 // Protocol violation detected
	DisconnectMessage_TOO_MANY_PEERS DisconnectMessage_Reason = 2 // Connection limit reached
	DisconnectMessage_AUTH_FAILURE   DisconnectMessage_Reason = 3 // Authentication failed
	DisconnectMessage_READ_TIMEOUT   DisconnectMessage_Reason = 4 // Read operation timed out
	DisconnectMessage_WRITE_TIMEOUT  DisconnectMessage_Reason = 5 // Write operation timed out
	DisconnectMessage_NETWORK_ERROR  DisconnectMessage_Reason = 6 // Network-level error
	DisconnectMessage_INTERNAL_ERROR DisconnectMessage_Reason = 7 // Internal server error
	DisconnectMessage_THROTTLED      DisconnectMessage_Reason = 8 // Connection throttled (rate limited)
)

func (DisconnectMessage_Reason) Descriptor

func (DisconnectMessage_Reason) Enum

func (DisconnectMessage_Reason) EnumDescriptor deprecated

func (DisconnectMessage_Reason) EnumDescriptor() ([]byte, []int)

Deprecated: Use DisconnectMessage_Reason.Descriptor instead.

func (DisconnectMessage_Reason) Number

func (DisconnectMessage_Reason) String

func (x DisconnectMessage_Reason) String() string

func (DisconnectMessage_Reason) Type

type HandshakeRequest

type HandshakeRequest struct {
	Timestamp int64  `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`                 // Client timestamp for replay protection
	PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` // Client's public key (33 bytes compressed)
	Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`                  // ECDSA signature over timestamp
	ClientId  string `protobuf:"bytes,4,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`    // Optional client identifier
	Nonce     []byte `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`                          // Random nonce for replay protection
	// contains filtered or unexported fields
}

HandshakeRequest is sent by the client during authentication

func (*HandshakeRequest) Descriptor deprecated

func (*HandshakeRequest) Descriptor() ([]byte, []int)

Deprecated: Use HandshakeRequest.ProtoReflect.Descriptor instead.

func (*HandshakeRequest) GetClientId

func (x *HandshakeRequest) GetClientId() string

func (*HandshakeRequest) GetNonce

func (x *HandshakeRequest) GetNonce() []byte

func (*HandshakeRequest) GetPublicKey

func (x *HandshakeRequest) GetPublicKey() []byte

func (*HandshakeRequest) GetSignature

func (x *HandshakeRequest) GetSignature() []byte

func (*HandshakeRequest) GetTimestamp

func (x *HandshakeRequest) GetTimestamp() int64

func (*HandshakeRequest) ProtoMessage

func (*HandshakeRequest) ProtoMessage()

func (*HandshakeRequest) ProtoReflect

func (x *HandshakeRequest) ProtoReflect() protoreflect.Message

func (*HandshakeRequest) Reset

func (x *HandshakeRequest) Reset()

func (*HandshakeRequest) String

func (x *HandshakeRequest) String() string

type HandshakeResponse

type HandshakeResponse struct {
	Accepted  bool   `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`                   // Whether authentication succeeded
	Error     string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`                          // Error message if rejected
	SessionId string `protobuf:"bytes,3,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // Unique session identifier
	// contains filtered or unexported fields
}

HandshakeResponse is sent from the server to the client after a handshake request

func (*HandshakeResponse) Descriptor deprecated

func (*HandshakeResponse) Descriptor() ([]byte, []int)

Deprecated: Use HandshakeResponse.ProtoReflect.Descriptor instead.

func (*HandshakeResponse) GetAccepted

func (x *HandshakeResponse) GetAccepted() bool

func (*HandshakeResponse) GetError

func (x *HandshakeResponse) GetError() string

func (*HandshakeResponse) GetSessionId

func (x *HandshakeResponse) GetSessionId() string

func (*HandshakeResponse) ProtoMessage

func (*HandshakeResponse) ProtoMessage()

func (*HandshakeResponse) ProtoReflect

func (x *HandshakeResponse) ProtoReflect() protoreflect.Message

func (*HandshakeResponse) Reset

func (x *HandshakeResponse) Reset()

func (*HandshakeResponse) String

func (x *HandshakeResponse) String() string

type L2Block

type L2Block struct {
	Slot            uint64   `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"`                                               // Slot this block belongs to
	ChainId         []byte   `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`                           // Chain identifier
	BlockNumber     uint64   `protobuf:"varint,3,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`              // L2 block number
	BlockHash       []byte   `protobuf:"bytes,4,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`                     // Hash of this L2 block
	ParentBlockHash []byte   `protobuf:"bytes,5,opt,name=parent_block_hash,json=parentBlockHash,proto3" json:"parent_block_hash,omitempty"` // Hash of parent L2 block
	IncludedXts     [][]byte `protobuf:"bytes,6,rep,name=included_xts,json=includedXts,proto3" json:"included_xts,omitempty"`               // Included cross-chain transaction IDs
	Block           []byte   `protobuf:"bytes,7,opt,name=block,proto3" json:"block,omitempty"`                                              // Encoded Ethereum block data (RLP encoded)
	// contains filtered or unexported fields
}

L2Block is submitted from sequencer to SP

func (*L2Block) Descriptor deprecated

func (*L2Block) Descriptor() ([]byte, []int)

Deprecated: Use L2Block.ProtoReflect.Descriptor instead.

func (*L2Block) GetBlock

func (x *L2Block) GetBlock() []byte

func (*L2Block) GetBlockHash

func (x *L2Block) GetBlockHash() []byte

func (*L2Block) GetBlockNumber

func (x *L2Block) GetBlockNumber() uint64

func (*L2Block) GetChainId

func (x *L2Block) GetChainId() []byte

func (*L2Block) GetIncludedXts

func (x *L2Block) GetIncludedXts() [][]byte

func (*L2Block) GetParentBlockHash

func (x *L2Block) GetParentBlockHash() []byte

func (*L2Block) GetSlot

func (x *L2Block) GetSlot() uint64

func (*L2Block) ProtoMessage

func (*L2Block) ProtoMessage()

func (*L2Block) ProtoReflect

func (x *L2Block) ProtoReflect() protoreflect.Message

func (*L2Block) Reset

func (x *L2Block) Reset()

func (*L2Block) String

func (x *L2Block) String() string

type L2BlockRequest

type L2BlockRequest struct {
	ChainId     []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	BlockNumber uint64 `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	ParentHash  []byte `protobuf:"bytes,3,opt,name=parent_hash,json=parentHash,proto3" json:"parent_hash,omitempty"`
	// contains filtered or unexported fields
}

L2BlockRequest specifies which L2 block a sequencer should build

func (*L2BlockRequest) Descriptor deprecated

func (*L2BlockRequest) Descriptor() ([]byte, []int)

Deprecated: Use L2BlockRequest.ProtoReflect.Descriptor instead.

func (*L2BlockRequest) GetBlockNumber

func (x *L2BlockRequest) GetBlockNumber() uint64

func (*L2BlockRequest) GetChainId

func (x *L2BlockRequest) GetChainId() []byte

func (*L2BlockRequest) GetParentHash

func (x *L2BlockRequest) GetParentHash() []byte

func (*L2BlockRequest) ProtoMessage

func (*L2BlockRequest) ProtoMessage()

func (*L2BlockRequest) ProtoReflect

func (x *L2BlockRequest) ProtoReflect() protoreflect.Message

func (*L2BlockRequest) Reset

func (x *L2BlockRequest) Reset()

func (*L2BlockRequest) String

func (x *L2BlockRequest) String() string

type Message

type Message struct {
	SenderId string `protobuf:"bytes,1,opt,name=sender_id,json=senderId,proto3" json:"sender_id,omitempty"` // Identifier of the sender
	// Payload contains the actual message content
	//
	// Types that are valid to be assigned to Payload:
	//
	//	*Message_XtRequest
	//	*Message_Vote
	//	*Message_Decided
	//	*Message_Block
	//	*Message_CircMessage
	//	*Message_StartSlot
	//	*Message_RequestSeal
	//	*Message_RollBackAndStartSlot
	//	*Message_L2Block
	//	*Message_StartSc
	//	*Message_HandshakeRequest
	//	*Message_HandshakeResponse
	//	*Message_Ping
	//	*Message_Pong
	//	*Message_Disconnect
	Payload isMessage_Payload `protobuf_oneof:"payload"`
	// contains filtered or unexported fields
}

Message is the main wrapper for all protocol messages This allows multiplexing different message types over a single connection

func (*Message) Descriptor deprecated

func (*Message) Descriptor() ([]byte, []int)

Deprecated: Use Message.ProtoReflect.Descriptor instead.

func (*Message) GetBlock

func (x *Message) GetBlock() *Block

func (*Message) GetCircMessage

func (x *Message) GetCircMessage() *CIRCMessage

func (*Message) GetDecided

func (x *Message) GetDecided() *Decided

func (*Message) GetDisconnect

func (x *Message) GetDisconnect() *DisconnectMessage

func (*Message) GetHandshakeRequest

func (x *Message) GetHandshakeRequest() *HandshakeRequest

func (*Message) GetHandshakeResponse

func (x *Message) GetHandshakeResponse() *HandshakeResponse

func (*Message) GetL2Block

func (x *Message) GetL2Block() *L2Block

func (*Message) GetPayload

func (x *Message) GetPayload() isMessage_Payload

func (*Message) GetPing

func (x *Message) GetPing() *Ping

func (*Message) GetPong

func (x *Message) GetPong() *Pong

func (*Message) GetRequestSeal

func (x *Message) GetRequestSeal() *RequestSeal

func (*Message) GetRollBackAndStartSlot

func (x *Message) GetRollBackAndStartSlot() *RollBackAndStartSlot

func (*Message) GetSenderId

func (x *Message) GetSenderId() string

func (*Message) GetStartSc

func (x *Message) GetStartSc() *StartSC

func (*Message) GetStartSlot

func (x *Message) GetStartSlot() *StartSlot

func (*Message) GetVote

func (x *Message) GetVote() *Vote

func (*Message) GetXtRequest

func (x *Message) GetXtRequest() *XTRequest

func (*Message) ProtoMessage

func (*Message) ProtoMessage()

func (*Message) ProtoReflect

func (x *Message) ProtoReflect() protoreflect.Message

func (*Message) Reset

func (x *Message) Reset()

func (*Message) String

func (x *Message) String() string

type Message_Block

type Message_Block struct {
	Block *Block `protobuf:"bytes,5,opt,name=block,proto3,oneof"` // Deprecated
}

type Message_CircMessage

type Message_CircMessage struct {
	CircMessage *CIRCMessage `protobuf:"bytes,6,opt,name=circ_message,json=circMessage,proto3,oneof"`
}

type Message_Decided

type Message_Decided struct {
	Decided *Decided `protobuf:"bytes,4,opt,name=decided,proto3,oneof"`
}

type Message_Disconnect

type Message_Disconnect struct {
	Disconnect *DisconnectMessage `protobuf:"bytes,16,opt,name=disconnect,proto3,oneof"`
}

type Message_HandshakeRequest

type Message_HandshakeRequest struct {
	// Transport-level messages
	HandshakeRequest *HandshakeRequest `protobuf:"bytes,12,opt,name=handshake_request,json=handshakeRequest,proto3,oneof"`
}

type Message_HandshakeResponse

type Message_HandshakeResponse struct {
	HandshakeResponse *HandshakeResponse `protobuf:"bytes,13,opt,name=handshake_response,json=handshakeResponse,proto3,oneof"`
}

type Message_L2Block

type Message_L2Block struct {
	L2Block *L2Block `protobuf:"bytes,10,opt,name=l2_block,json=l2Block,proto3,oneof"`
}

type Message_Ping

type Message_Ping struct {
	Ping *Ping `protobuf:"bytes,14,opt,name=ping,proto3,oneof"`
}

type Message_Pong

type Message_Pong struct {
	Pong *Pong `protobuf:"bytes,15,opt,name=pong,proto3,oneof"`
}

type Message_RequestSeal

type Message_RequestSeal struct {
	RequestSeal *RequestSeal `protobuf:"bytes,8,opt,name=request_seal,json=requestSeal,proto3,oneof"`
}

type Message_RollBackAndStartSlot

type Message_RollBackAndStartSlot struct {
	RollBackAndStartSlot *RollBackAndStartSlot `protobuf:"bytes,9,opt,name=roll_back_and_start_slot,json=rollBackAndStartSlot,proto3,oneof"`
}

type Message_StartSc

type Message_StartSc struct {
	StartSc *StartSC `protobuf:"bytes,11,opt,name=start_sc,json=startSc,proto3,oneof"`
}

type Message_StartSlot

type Message_StartSlot struct {
	// SBCP (Superblock Construction Protocol) messages
	StartSlot *StartSlot `protobuf:"bytes,7,opt,name=start_slot,json=startSlot,proto3,oneof"`
}

type Message_Vote

type Message_Vote struct {
	Vote *Vote `protobuf:"bytes,3,opt,name=vote,proto3,oneof"`
}

type Message_XtRequest

type Message_XtRequest struct {
	// SCP (Synchronous Composability Protocol) messages
	XtRequest *XTRequest `protobuf:"bytes,2,opt,name=xt_request,json=xtRequest,proto3,oneof"`
}

type Ping

type Ping struct {
	Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp for latency measurement
	// contains filtered or unexported fields
}

Ping is sent to check connection liveness

func (*Ping) Descriptor deprecated

func (*Ping) Descriptor() ([]byte, []int)

Deprecated: Use Ping.ProtoReflect.Descriptor instead.

func (*Ping) GetTimestamp

func (x *Ping) GetTimestamp() int64

func (*Ping) ProtoMessage

func (*Ping) ProtoMessage()

func (*Ping) ProtoReflect

func (x *Ping) ProtoReflect() protoreflect.Message

func (*Ping) Reset

func (x *Ping) Reset()

func (*Ping) String

func (x *Ping) String() string

type Pong

type Pong struct {
	Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Echo back the timestamp from Ping
	// contains filtered or unexported fields
}

Pong is a response to a Ping message

func (*Pong) Descriptor deprecated

func (*Pong) Descriptor() ([]byte, []int)

Deprecated: Use Pong.ProtoReflect.Descriptor instead.

func (*Pong) GetTimestamp

func (x *Pong) GetTimestamp() int64

func (*Pong) ProtoMessage

func (*Pong) ProtoMessage()

func (*Pong) ProtoReflect

func (x *Pong) ProtoReflect() protoreflect.Message

func (*Pong) Reset

func (x *Pong) Reset()

func (*Pong) String

func (x *Pong) String() string

type RequestSeal

type RequestSeal struct {
	Slot        uint64   `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"`                                 // Current slot number
	IncludedXts [][]byte `protobuf:"bytes,2,rep,name=included_xts,json=includedXts,proto3" json:"included_xts,omitempty"` // List of included cross-chain transaction IDs
	// contains filtered or unexported fields
}

RequestSeal is sent by SP to request sequencers seal their blocks

func (*RequestSeal) Descriptor deprecated

func (*RequestSeal) Descriptor() ([]byte, []int)

Deprecated: Use RequestSeal.ProtoReflect.Descriptor instead.

func (*RequestSeal) GetIncludedXts

func (x *RequestSeal) GetIncludedXts() [][]byte

func (*RequestSeal) GetSlot

func (x *RequestSeal) GetSlot() uint64

func (*RequestSeal) ProtoMessage

func (*RequestSeal) ProtoMessage()

func (*RequestSeal) ProtoReflect

func (x *RequestSeal) ProtoReflect() protoreflect.Message

func (*RequestSeal) Reset

func (x *RequestSeal) Reset()

func (*RequestSeal) String

func (x *RequestSeal) String() string

type RollBackAndStartSlot

type RollBackAndStartSlot struct {
	L2BlocksRequest      []*L2BlockRequest `protobuf:"bytes,1,rep,name=l2_blocks_request,json=l2BlocksRequest,proto3" json:"l2_blocks_request,omitempty"`                 // L2 blocks to build from valid state
	CurrentSlot          uint64            `protobuf:"varint,2,opt,name=current_slot,json=currentSlot,proto3" json:"current_slot,omitempty"`                              // Current slot number
	NextSuperblockNumber uint64            `protobuf:"varint,3,opt,name=next_superblock_number,json=nextSuperblockNumber,proto3" json:"next_superblock_number,omitempty"` // Next superblock number to produce
	LastSuperblockHash   []byte            `protobuf:"bytes,4,opt,name=last_superblock_hash,json=lastSuperblockHash,proto3" json:"last_superblock_hash,omitempty"`        // Hash of last valid superblock
	// contains filtered or unexported fields
}

RollBackAndStartSlot is sent by SP to rollback and restart from a valid state

func (*RollBackAndStartSlot) Descriptor deprecated

func (*RollBackAndStartSlot) Descriptor() ([]byte, []int)

Deprecated: Use RollBackAndStartSlot.ProtoReflect.Descriptor instead.

func (*RollBackAndStartSlot) GetCurrentSlot

func (x *RollBackAndStartSlot) GetCurrentSlot() uint64

func (*RollBackAndStartSlot) GetL2BlocksRequest

func (x *RollBackAndStartSlot) GetL2BlocksRequest() []*L2BlockRequest

func (*RollBackAndStartSlot) GetLastSuperblockHash

func (x *RollBackAndStartSlot) GetLastSuperblockHash() []byte

func (*RollBackAndStartSlot) GetNextSuperblockNumber

func (x *RollBackAndStartSlot) GetNextSuperblockNumber() uint64

func (*RollBackAndStartSlot) ProtoMessage

func (*RollBackAndStartSlot) ProtoMessage()

func (*RollBackAndStartSlot) ProtoReflect

func (x *RollBackAndStartSlot) ProtoReflect() protoreflect.Message

func (*RollBackAndStartSlot) Reset

func (x *RollBackAndStartSlot) Reset()

func (*RollBackAndStartSlot) String

func (x *RollBackAndStartSlot) String() string

type StartSC

type StartSC struct {
	Slot             uint64     `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"`                                                   // Current slot number
	XtSequenceNumber uint64     `protobuf:"varint,2,opt,name=xt_sequence_number,json=xtSequenceNumber,proto3" json:"xt_sequence_number,omitempty"` // Sequence number for ordering within slot
	XtRequest        *XTRequest `protobuf:"bytes,3,opt,name=xt_request,json=xtRequest,proto3" json:"xt_request,omitempty"`                         // The cross-chain transaction request
	XtId             []byte     `protobuf:"bytes,4,opt,name=xt_id,json=xtId,proto3" json:"xt_id,omitempty"`                                        // 32-byte SHA256 hash over xTRequest
	// contains filtered or unexported fields
}

StartSC is sent by SP to start cross-chain transaction coordination

func (*StartSC) Descriptor deprecated

func (*StartSC) Descriptor() ([]byte, []int)

Deprecated: Use StartSC.ProtoReflect.Descriptor instead.

func (*StartSC) GetSlot

func (x *StartSC) GetSlot() uint64

func (*StartSC) GetXtId

func (x *StartSC) GetXtId() []byte

func (*StartSC) GetXtRequest

func (x *StartSC) GetXtRequest() *XTRequest

func (*StartSC) GetXtSequenceNumber

func (x *StartSC) GetXtSequenceNumber() uint64

func (*StartSC) ProtoMessage

func (*StartSC) ProtoMessage()

func (*StartSC) ProtoReflect

func (x *StartSC) ProtoReflect() protoreflect.Message

func (*StartSC) Reset

func (x *StartSC) Reset()

func (*StartSC) String

func (x *StartSC) String() string

type StartSlot

type StartSlot struct {
	Slot                 uint64            `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"`                                                               // Current slot number
	NextSuperblockNumber uint64            `protobuf:"varint,2,opt,name=next_superblock_number,json=nextSuperblockNumber,proto3" json:"next_superblock_number,omitempty"` // Superblock number SP aims to produce
	LastSuperblockHash   []byte            `protobuf:"bytes,3,opt,name=last_superblock_hash,json=lastSuperblockHash,proto3" json:"last_superblock_hash,omitempty"`        // Hash of the last valid superblock
	L2BlocksRequest      []*L2BlockRequest `protobuf:"bytes,4,rep,name=l2_blocks_request,json=l2BlocksRequest,proto3" json:"l2_blocks_request,omitempty"`                 // L2 blocks to be built by each rollup
	// contains filtered or unexported fields
}

StartSlot is sent by SP to begin a new slot

func (*StartSlot) Descriptor deprecated

func (*StartSlot) Descriptor() ([]byte, []int)

Deprecated: Use StartSlot.ProtoReflect.Descriptor instead.

func (*StartSlot) GetL2BlocksRequest

func (x *StartSlot) GetL2BlocksRequest() []*L2BlockRequest

func (*StartSlot) GetLastSuperblockHash

func (x *StartSlot) GetLastSuperblockHash() []byte

func (*StartSlot) GetNextSuperblockNumber

func (x *StartSlot) GetNextSuperblockNumber() uint64

func (*StartSlot) GetSlot

func (x *StartSlot) GetSlot() uint64

func (*StartSlot) ProtoMessage

func (*StartSlot) ProtoMessage()

func (*StartSlot) ProtoReflect

func (x *StartSlot) ProtoReflect() protoreflect.Message

func (*StartSlot) Reset

func (x *StartSlot) Reset()

func (*StartSlot) String

func (x *StartSlot) String() string

type TransactionRequest

type TransactionRequest struct {
	ChainId     []byte   `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	Transaction [][]byte `protobuf:"bytes,2,rep,name=transaction,proto3" json:"transaction,omitempty"` // RLP encoded Ethereum transactions
	// contains filtered or unexported fields
}

TransactionRequest represents a single transaction request for a specific chain

func (*TransactionRequest) Descriptor deprecated

func (*TransactionRequest) Descriptor() ([]byte, []int)

Deprecated: Use TransactionRequest.ProtoReflect.Descriptor instead.

func (*TransactionRequest) GetChainId

func (x *TransactionRequest) GetChainId() []byte

func (*TransactionRequest) GetTransaction

func (x *TransactionRequest) GetTransaction() [][]byte

func (*TransactionRequest) ProtoMessage

func (*TransactionRequest) ProtoMessage()

func (*TransactionRequest) ProtoReflect

func (x *TransactionRequest) ProtoReflect() protoreflect.Message

func (*TransactionRequest) Reset

func (x *TransactionRequest) Reset()

func (*TransactionRequest) String

func (x *TransactionRequest) String() string

type Vote

type Vote struct {
	SenderChainId []byte `protobuf:"bytes,1,opt,name=sender_chain_id,json=senderChainId,proto3" json:"sender_chain_id,omitempty"` // Which chain is voting
	XtId          *XtID  `protobuf:"bytes,2,opt,name=xt_id,json=xtId,proto3" json:"xt_id,omitempty"`                              // Transaction ID
	Vote          bool   `protobuf:"varint,3,opt,name=vote,proto3" json:"vote,omitempty"`                                         // true = Commit, false = Abort
	// contains filtered or unexported fields
}

Vote is a 2PC vote message from a sequencer to the SP

func (*Vote) Descriptor deprecated

func (*Vote) Descriptor() ([]byte, []int)

Deprecated: Use Vote.ProtoReflect.Descriptor instead.

func (*Vote) GetSenderChainId

func (x *Vote) GetSenderChainId() []byte

func (*Vote) GetVote

func (x *Vote) GetVote() bool

func (*Vote) GetXtId

func (x *Vote) GetXtId() *XtID

func (*Vote) ProtoMessage

func (*Vote) ProtoMessage()

func (*Vote) ProtoReflect

func (x *Vote) ProtoReflect() protoreflect.Message

func (*Vote) Reset

func (x *Vote) Reset()

func (*Vote) String

func (x *Vote) String() string

type XTRequest

type XTRequest struct {
	Transactions []*TransactionRequest `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
	// contains filtered or unexported fields
}

XTRequest represents a cross-chain transaction request

func (*XTRequest) ChainIDs

func (xt *XTRequest) ChainIDs() map[string]struct{}

ChainIDs extracts all unique chain IDs from the transactions in the XTRequest. It returns them as a map[string]struct{} where the keys are the hexadecimal representations of the chain IDs.

func (*XTRequest) Descriptor deprecated

func (*XTRequest) Descriptor() ([]byte, []int)

Deprecated: Use XTRequest.ProtoReflect.Descriptor instead.

func (*XTRequest) GetTransactions

func (x *XTRequest) GetTransactions() []*TransactionRequest

func (*XTRequest) ProtoMessage

func (*XTRequest) ProtoMessage()

func (*XTRequest) ProtoReflect

func (x *XTRequest) ProtoReflect() protoreflect.Message

func (*XTRequest) Reset

func (x *XTRequest) Reset()

func (*XTRequest) String

func (x *XTRequest) String() string

func (*XTRequest) XtID

func (xt *XTRequest) XtID() (*XtID, error)

XtID generates a unique transaction ID by computing the SHA256 hash of the marshaled XTRequest object.

type XtID

type XtID struct {
	Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` // 32-byte SHA256 hash
	// contains filtered or unexported fields
}

XtID represents a transaction ID (SHA256 hash)

func (*XtID) Descriptor deprecated

func (*XtID) Descriptor() ([]byte, []int)

Deprecated: Use XtID.ProtoReflect.Descriptor instead.

func (*XtID) GetHash

func (x *XtID) GetHash() []byte

func (*XtID) Hex

func (id *XtID) Hex() string

Hex returns the hexadecimal string representation of the XtID's SHA256 hash. If XtID or its Hash is nil, it returns an empty string.

func (*XtID) ProtoMessage

func (*XtID) ProtoMessage()

func (*XtID) ProtoReflect

func (x *XtID) ProtoReflect() protoreflect.Message

func (*XtID) Reset

func (x *XtID) Reset()

func (*XtID) String

func (x *XtID) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL