Documentation
¶
Index ¶
- Variables
- type Block
- func (*Block) Descriptor() ([]byte, []int)deprecated
- func (x *Block) GetBlockData() []byte
- func (x *Block) GetChainId() []byte
- func (x *Block) GetIncludedXtIds() []*XtID
- func (*Block) ProtoMessage()
- func (x *Block) ProtoReflect() protoreflect.Message
- func (x *Block) Reset()
- func (x *Block) String() string
- type CIRCMessage
- func (*CIRCMessage) Descriptor() ([]byte, []int)deprecated
- func (x *CIRCMessage) GetData() [][]byte
- func (x *CIRCMessage) GetDestinationChain() []byte
- func (x *CIRCMessage) GetLabel() string
- func (x *CIRCMessage) GetReceiver() [][]byte
- func (x *CIRCMessage) GetSource() [][]byte
- func (x *CIRCMessage) GetSourceChain() []byte
- func (x *CIRCMessage) GetXtId() *XtID
- func (*CIRCMessage) ProtoMessage()
- func (x *CIRCMessage) ProtoReflect() protoreflect.Message
- func (x *CIRCMessage) Reset()
- func (x *CIRCMessage) String() string
- type Decided
- type HandshakeRequest
- func (*HandshakeRequest) Descriptor() ([]byte, []int)deprecated
- func (x *HandshakeRequest) GetClientId() string
- func (x *HandshakeRequest) GetNonce() []byte
- func (x *HandshakeRequest) GetPublicKey() []byte
- func (x *HandshakeRequest) GetSignature() []byte
- func (x *HandshakeRequest) GetTimestamp() int64
- func (*HandshakeRequest) ProtoMessage()
- func (x *HandshakeRequest) ProtoReflect() protoreflect.Message
- func (x *HandshakeRequest) Reset()
- func (x *HandshakeRequest) String() string
- type HandshakeResponse
- func (*HandshakeResponse) Descriptor() ([]byte, []int)deprecated
- func (x *HandshakeResponse) GetAccepted() bool
- func (x *HandshakeResponse) GetError() string
- func (x *HandshakeResponse) GetSessionId() string
- func (*HandshakeResponse) ProtoMessage()
- func (x *HandshakeResponse) ProtoReflect() protoreflect.Message
- func (x *HandshakeResponse) Reset()
- func (x *HandshakeResponse) String() string
- type L2Block
- func (*L2Block) Descriptor() ([]byte, []int)deprecated
- func (x *L2Block) GetBlock() []byte
- func (x *L2Block) GetBlockHash() []byte
- func (x *L2Block) GetBlockNumber() uint64
- func (x *L2Block) GetChainId() []byte
- func (x *L2Block) GetIncludedXts() [][]byte
- func (x *L2Block) GetParentBlockHash() []byte
- func (x *L2Block) GetSlot() uint64
- func (*L2Block) ProtoMessage()
- func (x *L2Block) ProtoReflect() protoreflect.Message
- func (x *L2Block) Reset()
- func (x *L2Block) String() string
- type L2BlockRequest
- func (*L2BlockRequest) Descriptor() ([]byte, []int)deprecated
- func (x *L2BlockRequest) GetBlockNumber() uint64
- func (x *L2BlockRequest) GetChainId() []byte
- func (x *L2BlockRequest) GetParentHash() []byte
- func (*L2BlockRequest) ProtoMessage()
- func (x *L2BlockRequest) ProtoReflect() protoreflect.Message
- func (x *L2BlockRequest) Reset()
- func (x *L2BlockRequest) String() string
- type Message
- func (*Message) Descriptor() ([]byte, []int)deprecated
- func (x *Message) GetBlock() *Block
- func (x *Message) GetCircMessage() *CIRCMessage
- func (x *Message) GetDecided() *Decided
- func (x *Message) GetHandshakeRequest() *HandshakeRequest
- func (x *Message) GetHandshakeResponse() *HandshakeResponse
- func (x *Message) GetL2Block() *L2Block
- func (x *Message) GetPayload() isMessage_Payload
- func (x *Message) GetRequestSeal() *RequestSeal
- func (x *Message) GetRollBackAndStartSlot() *RollBackAndStartSlot
- func (x *Message) GetSenderId() string
- func (x *Message) GetStartSc() *StartSC
- func (x *Message) GetStartSlot() *StartSlot
- func (x *Message) GetVote() *Vote
- func (x *Message) GetXtRequest() *XTRequest
- func (*Message) ProtoMessage()
- func (x *Message) ProtoReflect() protoreflect.Message
- func (x *Message) Reset()
- func (x *Message) String() string
- type Message_Block
- type Message_CircMessage
- type Message_Decided
- type Message_HandshakeRequest
- type Message_HandshakeResponse
- type Message_L2Block
- type Message_RequestSeal
- type Message_RollBackAndStartSlot
- type Message_StartSc
- type Message_StartSlot
- type Message_Vote
- type Message_XtRequest
- type RequestSeal
- func (*RequestSeal) Descriptor() ([]byte, []int)deprecated
- func (x *RequestSeal) GetIncludedXts() [][]byte
- func (x *RequestSeal) GetSlot() uint64
- func (*RequestSeal) ProtoMessage()
- func (x *RequestSeal) ProtoReflect() protoreflect.Message
- func (x *RequestSeal) Reset()
- func (x *RequestSeal) String() string
- type RollBackAndStartSlot
- func (*RollBackAndStartSlot) Descriptor() ([]byte, []int)deprecated
- func (x *RollBackAndStartSlot) GetCurrentSlot() uint64
- func (x *RollBackAndStartSlot) GetL2BlocksRequest() []*L2BlockRequest
- func (x *RollBackAndStartSlot) GetLastSuperblockHash() []byte
- func (x *RollBackAndStartSlot) GetNextSuperblockNumber() uint64
- func (*RollBackAndStartSlot) ProtoMessage()
- func (x *RollBackAndStartSlot) ProtoReflect() protoreflect.Message
- func (x *RollBackAndStartSlot) Reset()
- func (x *RollBackAndStartSlot) String() string
- type StartSC
- func (*StartSC) Descriptor() ([]byte, []int)deprecated
- func (x *StartSC) GetSlot() uint64
- func (x *StartSC) GetXtId() []byte
- func (x *StartSC) GetXtRequest() *XTRequest
- func (x *StartSC) GetXtSequenceNumber() uint64
- func (*StartSC) ProtoMessage()
- func (x *StartSC) ProtoReflect() protoreflect.Message
- func (x *StartSC) Reset()
- func (x *StartSC) String() string
- type StartSlot
- func (*StartSlot) Descriptor() ([]byte, []int)deprecated
- func (x *StartSlot) GetL2BlocksRequest() []*L2BlockRequest
- func (x *StartSlot) GetLastSuperblockHash() []byte
- func (x *StartSlot) GetNextSuperblockNumber() uint64
- func (x *StartSlot) GetSlot() uint64
- func (*StartSlot) ProtoMessage()
- func (x *StartSlot) ProtoReflect() protoreflect.Message
- func (x *StartSlot) Reset()
- func (x *StartSlot) String() string
- type TransactionRequest
- func (*TransactionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *TransactionRequest) GetChainId() []byte
- func (x *TransactionRequest) GetTransaction() [][]byte
- func (*TransactionRequest) ProtoMessage()
- func (x *TransactionRequest) ProtoReflect() protoreflect.Message
- func (x *TransactionRequest) Reset()
- func (x *TransactionRequest) String() string
- type Vote
- type XTRequest
- func (xt *XTRequest) ChainIDs() map[string]struct{}
- func (*XTRequest) Descriptor() ([]byte, []int)deprecated
- func (x *XTRequest) GetTransactions() []*TransactionRequest
- func (*XTRequest) ProtoMessage()
- func (x *XTRequest) ProtoReflect() protoreflect.Message
- func (x *XTRequest) Reset()
- func (x *XTRequest) String() string
- func (xt *XTRequest) XtID() (*XtID, error)
- type XtID
Constants ¶
This section is empty.
Variables ¶
var File_rollup_messages_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
func (*Block) Descriptor
deprecated
func (*Block) GetBlockData ¶
func (*Block) GetChainId ¶
func (*Block) GetIncludedXtIds ¶
func (*Block) ProtoMessage ¶
func (*Block) ProtoMessage()
func (*Block) ProtoReflect ¶
func (x *Block) ProtoReflect() protoreflect.Message
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
// contains filtered or unexported fields
}
Direct CIRC message exchange between sequencers (without SP involvement)
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) 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
}
2PC Decision message from the SP to sequencers
func (*Decided) Descriptor
deprecated
func (*Decided) GetDecision ¶
func (*Decided) ProtoMessage ¶
func (*Decided) ProtoMessage()
func (*Decided) ProtoReflect ¶
func (x *Decided) ProtoReflect() protoreflect.Message
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
}
Connection-level authentication handshake messages
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
}
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
}
L2 Block submission from sequencer to SP
func (*L2Block) Descriptor
deprecated
func (*L2Block) GetBlockHash ¶
func (*L2Block) GetBlockNumber ¶
func (*L2Block) GetChainId ¶
func (*L2Block) GetIncludedXts ¶
func (*L2Block) GetParentBlockHash ¶
func (*L2Block) ProtoMessage ¶
func (*L2Block) ProtoMessage()
func (*L2Block) ProtoReflect ¶
func (x *L2Block) ProtoReflect() protoreflect.Message
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
}
Auxiliary message for requesting specific L2 blocks
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
Payload isMessage_Payload `protobuf_oneof:"payload"`
// contains filtered or unexported fields
}
Wrapper for all messages
func (*Message) Descriptor
deprecated
func (*Message) GetCircMessage ¶
func (x *Message) GetCircMessage() *CIRCMessage
func (*Message) GetDecided ¶
func (*Message) GetHandshakeRequest ¶
func (x *Message) GetHandshakeRequest() *HandshakeRequest
func (*Message) GetHandshakeResponse ¶
func (x *Message) GetHandshakeResponse() *HandshakeResponse
func (*Message) GetL2Block ¶
func (*Message) GetPayload ¶
func (x *Message) GetPayload() isMessage_Payload
func (*Message) GetRequestSeal ¶
func (x *Message) GetRequestSeal() *RequestSeal
func (*Message) GetRollBackAndStartSlot ¶
func (x *Message) GetRollBackAndStartSlot() *RollBackAndStartSlot
func (*Message) GetSenderId ¶
func (*Message) GetStartSc ¶
func (*Message) GetStartSlot ¶
func (*Message) GetXtRequest ¶
func (*Message) ProtoMessage ¶
func (*Message) ProtoMessage()
func (*Message) ProtoReflect ¶
func (x *Message) ProtoReflect() protoreflect.Message
type Message_Block ¶
type Message_Block struct {
Block *Block `protobuf:"bytes,5,opt,name=block,proto3,oneof"`
}
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_HandshakeRequest ¶
type Message_HandshakeRequest struct {
// Connection-level authentication
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_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 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 {
XtRequest *XTRequest `protobuf:"bytes,2,opt,name=xt_request,json=xtRequest,proto3,oneof"`
}
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
}
Message 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
}
Message 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
}
SCP message to start cross-chain transaction coordination
func (*StartSC) Descriptor
deprecated
func (*StartSC) GetXtRequest ¶
func (*StartSC) GetXtSequenceNumber ¶
func (*StartSC) ProtoMessage ¶
func (*StartSC) ProtoMessage()
func (*StartSC) ProtoReflect ¶
func (x *StartSC) ProtoReflect() protoreflect.Message
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
}
Message sent by SP to start a new slot
func (*StartSlot) Descriptor
deprecated
func (*StartSlot) GetL2BlocksRequest ¶
func (x *StartSlot) GetL2BlocksRequest() []*L2BlockRequest
func (*StartSlot) GetLastSuperblockHash ¶
func (*StartSlot) GetNextSuperblockNumber ¶
func (*StartSlot) ProtoMessage ¶
func (*StartSlot) ProtoMessage()
func (*StartSlot) ProtoReflect ¶
func (x *StartSlot) ProtoReflect() protoreflect.Message
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
}
2PC Vote message from a sequencer to the SP
func (*Vote) Descriptor
deprecated
func (*Vote) GetSenderChainId ¶
func (*Vote) ProtoMessage ¶
func (*Vote) ProtoMessage()
func (*Vote) ProtoReflect ¶
func (x *Vote) ProtoReflect() protoreflect.Message
type XTRequest ¶
type XTRequest struct {
Transactions []*TransactionRequest `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
// contains filtered or unexported fields
}
Cross-chain transaction request
func (*XTRequest) ChainIDs ¶
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) GetTransactions ¶
func (x *XTRequest) GetTransactions() []*TransactionRequest
func (*XTRequest) ProtoMessage ¶
func (*XTRequest) ProtoMessage()
func (*XTRequest) ProtoReflect ¶
func (x *XTRequest) ProtoReflect() protoreflect.Message
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
}
Transaction ID (SHA256 hash)
func (*XtID) Descriptor
deprecated
func (*XtID) Hex ¶
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