rollupv1

package
v0.0.3 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
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) 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
	// 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) 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 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) 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
}

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) 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) 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) 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"`
}

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) 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
}

Message sent by SP to start 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
}

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
}

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
}

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