sequencerblockv1alpha1

package
v1.36.10-2025052917301... Latest Latest
Warning

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

Go to latest
Published: unknown License: MIT Imports: 7 Imported by: 2

Documentation

Index

Constants

View Source
const RollupData_Deposit_case case_RollupData_Value = 2
View Source
const RollupData_SequencedData_case case_RollupData_Value = 1
View Source
const RollupData_Value_not_set_case case_RollupData_Value = 0

Variables

View Source
var File_astria_sequencerblock_v1alpha1_block_proto protoreflect.FileDescriptor
View Source
var File_astria_sequencerblock_v1alpha1_celestia_proto protoreflect.FileDescriptor
View Source
var File_astria_sequencerblock_v1alpha1_service_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Deposit

type Deposit struct {

	// the address the funds were locked in on the sequencer.
	// this is required as initializing an account as a bridge account
	// is permissionless, so the rollup consensus needs to know and enshrine
	// which accounts it accepts as valid bridge accounts.
	BridgeAddress *v1.Address `protobuf:"bytes,1,opt,name=bridge_address,json=bridgeAddress,proto3" json:"bridge_address,omitempty"`
	// the rollup_id which the funds are being deposited to
	RollupId *v1.RollupId `protobuf:"bytes,2,opt,name=rollup_id,json=rollupId,proto3" json:"rollup_id,omitempty"`
	Amount   *v1.Uint128  `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
	Asset    string       `protobuf:"bytes,4,opt,name=asset,proto3" json:"asset,omitempty"`
	// the address on the destination chain which
	// will receive the bridged funds
	DestinationChainAddress string `` /* 132-byte string literal not displayed */
	// the transaction ID of the source action for the deposit, consisting
	// of the transaction hash.
	SourceTransactionId *v1.TransactionId `protobuf:"bytes,6,opt,name=source_transaction_id,json=sourceTransactionId,proto3" json:"source_transaction_id,omitempty"`
	// index of the deposit's source action within its transaction
	SourceActionIndex uint64 `protobuf:"varint,7,opt,name=source_action_index,json=sourceActionIndex,proto3" json:"source_action_index,omitempty"`
	// contains filtered or unexported fields
}

`Deposit` represents a deposit from the sequencer to a rollup.

A `Deposit` is similar to an emitted event, in that the sequencer application detects transfers to bridge accounts and the corresponding rollup ID and includes a `Deposit` corresponding to that within the respective rollup's data.

A `Deposit` notifies a rollup that funds were locked to some account on the sequencer, however it's up to the rollup what to do with that info.

func (*Deposit) ClearAmount

func (x *Deposit) ClearAmount()

func (*Deposit) ClearBridgeAddress

func (x *Deposit) ClearBridgeAddress()

func (*Deposit) ClearRollupId

func (x *Deposit) ClearRollupId()

func (*Deposit) ClearSourceTransactionId

func (x *Deposit) ClearSourceTransactionId()

func (*Deposit) GetAmount

func (x *Deposit) GetAmount() *v1.Uint128

func (*Deposit) GetAsset

func (x *Deposit) GetAsset() string

func (*Deposit) GetBridgeAddress

func (x *Deposit) GetBridgeAddress() *v1.Address

func (*Deposit) GetDestinationChainAddress

func (x *Deposit) GetDestinationChainAddress() string

func (*Deposit) GetRollupId

func (x *Deposit) GetRollupId() *v1.RollupId

func (*Deposit) GetSourceActionIndex

func (x *Deposit) GetSourceActionIndex() uint64

func (*Deposit) GetSourceTransactionId

func (x *Deposit) GetSourceTransactionId() *v1.TransactionId

func (*Deposit) HasAmount

func (x *Deposit) HasAmount() bool

func (*Deposit) HasBridgeAddress

func (x *Deposit) HasBridgeAddress() bool

func (*Deposit) HasRollupId

func (x *Deposit) HasRollupId() bool

func (*Deposit) HasSourceTransactionId

func (x *Deposit) HasSourceTransactionId() bool

func (*Deposit) ProtoMessage

func (*Deposit) ProtoMessage()

func (*Deposit) ProtoReflect

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

func (*Deposit) Reset

func (x *Deposit) Reset()

func (*Deposit) SetAmount

func (x *Deposit) SetAmount(v *v1.Uint128)

func (*Deposit) SetAsset

func (x *Deposit) SetAsset(v string)

func (*Deposit) SetBridgeAddress

func (x *Deposit) SetBridgeAddress(v *v1.Address)

func (*Deposit) SetDestinationChainAddress

func (x *Deposit) SetDestinationChainAddress(v string)

func (*Deposit) SetRollupId

func (x *Deposit) SetRollupId(v *v1.RollupId)

func (*Deposit) SetSourceActionIndex

func (x *Deposit) SetSourceActionIndex(v uint64)

func (*Deposit) SetSourceTransactionId

func (x *Deposit) SetSourceTransactionId(v *v1.TransactionId)

func (*Deposit) String

func (x *Deposit) String() string

type Deposit_builder

type Deposit_builder struct {

	// the address the funds were locked in on the sequencer.
	// this is required as initializing an account as a bridge account
	// is permissionless, so the rollup consensus needs to know and enshrine
	// which accounts it accepts as valid bridge accounts.
	BridgeAddress *v1.Address
	// the rollup_id which the funds are being deposited to
	RollupId *v1.RollupId
	Amount   *v1.Uint128
	Asset    string
	// the address on the destination chain which
	// will receive the bridged funds
	DestinationChainAddress string
	// the transaction ID of the source action for the deposit, consisting
	// of the transaction hash.
	SourceTransactionId *v1.TransactionId
	// index of the deposit's source action within its transaction
	SourceActionIndex uint64
	// contains filtered or unexported fields
}

func (Deposit_builder) Build

func (b0 Deposit_builder) Build() *Deposit

type FilteredSequencerBlock

type FilteredSequencerBlock struct {

	// / The block hash of the cometbft block that corresponds to this sequencer block.
	BlockHash []byte `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// the block header, which contains sequencer-specific commitments.
	Header *SequencerBlockHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
	// A subset of rollup transactions that were included in this block.
	RollupTransactions []*RollupTransactions `protobuf:"bytes,3,rep,name=rollup_transactions,json=rollupTransactions,proto3" json:"rollup_transactions,omitempty"`
	// The proof that the rollup transactions are included in the CometBFT block this
	// sequencer block is derived form. This proof together with
	// `rollup_transactions_root = Sha256(MTH(rollup_transactions))` must match `header.data_hash`.
	// `MTH(rollup_transactions)` is the Merkle Tree Hash derived from the
	// rollup transactions.
	RollupTransactionsProof *v1.Proof `` /* 132-byte string literal not displayed */
	// The rollup IDs for which `CelestiaRollupBlob`s were submitted to celestia.
	// Corresponds to the `astria.sequencer.v1.RollupTransactions.rollup_id` field
	// and is extracted from `astria.SequencerBlock.rollup_transactions`.
	// Note that these are all the rollup IDs in the sequencer block, not merely those in
	// `rollup_transactions` field. This is necessary to prove that no rollup IDs were omitted.
	AllRollupIds []*v1.RollupId `protobuf:"bytes,5,rep,name=all_rollup_ids,json=allRollupIds,proto3" json:"all_rollup_ids,omitempty"`
	// The proof that the `rollup_ids` are included
	// in the CometBFT block this sequencer block is derived form.
	//
	// This proof is used to verify that the relayer that posts to celestia
	// includes all rollup IDs and does not censor any.
	//
	// This proof together with `Sha256(MTH(rollup_ids))` must match `header.data_hash`.
	// `MTH(rollup_ids)` is the Merkle Tree Hash derived from the rollup IDs listed in
	// the rollup transactions.
	RollupIdsProof *v1.Proof `protobuf:"bytes,6,opt,name=rollup_ids_proof,json=rollupIdsProof,proto3" json:"rollup_ids_proof,omitempty"`
	// contains filtered or unexported fields
}

`FilteredSequencerBlock` is similar to `SequencerBlock` but with a subset of the rollup transactions.

func (*FilteredSequencerBlock) ClearHeader

func (x *FilteredSequencerBlock) ClearHeader()

func (*FilteredSequencerBlock) ClearRollupIdsProof

func (x *FilteredSequencerBlock) ClearRollupIdsProof()

func (*FilteredSequencerBlock) ClearRollupTransactionsProof

func (x *FilteredSequencerBlock) ClearRollupTransactionsProof()

func (*FilteredSequencerBlock) GetAllRollupIds

func (x *FilteredSequencerBlock) GetAllRollupIds() []*v1.RollupId

func (*FilteredSequencerBlock) GetBlockHash

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

func (*FilteredSequencerBlock) GetHeader

func (*FilteredSequencerBlock) GetRollupIdsProof

func (x *FilteredSequencerBlock) GetRollupIdsProof() *v1.Proof

func (*FilteredSequencerBlock) GetRollupTransactions

func (x *FilteredSequencerBlock) GetRollupTransactions() []*RollupTransactions

func (*FilteredSequencerBlock) GetRollupTransactionsProof

func (x *FilteredSequencerBlock) GetRollupTransactionsProof() *v1.Proof

func (*FilteredSequencerBlock) HasHeader

func (x *FilteredSequencerBlock) HasHeader() bool

func (*FilteredSequencerBlock) HasRollupIdsProof

func (x *FilteredSequencerBlock) HasRollupIdsProof() bool

func (*FilteredSequencerBlock) HasRollupTransactionsProof

func (x *FilteredSequencerBlock) HasRollupTransactionsProof() bool

func (*FilteredSequencerBlock) ProtoMessage

func (*FilteredSequencerBlock) ProtoMessage()

func (*FilteredSequencerBlock) ProtoReflect

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

func (*FilteredSequencerBlock) Reset

func (x *FilteredSequencerBlock) Reset()

func (*FilteredSequencerBlock) SetAllRollupIds

func (x *FilteredSequencerBlock) SetAllRollupIds(v []*v1.RollupId)

func (*FilteredSequencerBlock) SetBlockHash

func (x *FilteredSequencerBlock) SetBlockHash(v []byte)

func (*FilteredSequencerBlock) SetHeader

func (*FilteredSequencerBlock) SetRollupIdsProof

func (x *FilteredSequencerBlock) SetRollupIdsProof(v *v1.Proof)

func (*FilteredSequencerBlock) SetRollupTransactions

func (x *FilteredSequencerBlock) SetRollupTransactions(v []*RollupTransactions)

func (*FilteredSequencerBlock) SetRollupTransactionsProof

func (x *FilteredSequencerBlock) SetRollupTransactionsProof(v *v1.Proof)

func (*FilteredSequencerBlock) String

func (x *FilteredSequencerBlock) String() string

type FilteredSequencerBlock_builder

type FilteredSequencerBlock_builder struct {

	// / The block hash of the cometbft block that corresponds to this sequencer block.
	BlockHash []byte
	// the block header, which contains sequencer-specific commitments.
	Header *SequencerBlockHeader
	// A subset of rollup transactions that were included in this block.
	RollupTransactions []*RollupTransactions
	// The proof that the rollup transactions are included in the CometBFT block this
	// sequencer block is derived form. This proof together with
	// `rollup_transactions_root = Sha256(MTH(rollup_transactions))` must match `header.data_hash`.
	// `MTH(rollup_transactions)` is the Merkle Tree Hash derived from the
	// rollup transactions.
	RollupTransactionsProof *v1.Proof
	// The rollup IDs for which `CelestiaRollupBlob`s were submitted to celestia.
	// Corresponds to the `astria.sequencer.v1.RollupTransactions.rollup_id` field
	// and is extracted from `astria.SequencerBlock.rollup_transactions`.
	// Note that these are all the rollup IDs in the sequencer block, not merely those in
	// `rollup_transactions` field. This is necessary to prove that no rollup IDs were omitted.
	AllRollupIds []*v1.RollupId
	// The proof that the `rollup_ids` are included
	// in the CometBFT block this sequencer block is derived form.
	//
	// This proof is used to verify that the relayer that posts to celestia
	// includes all rollup IDs and does not censor any.
	//
	// This proof together with `Sha256(MTH(rollup_ids))` must match `header.data_hash`.
	// `MTH(rollup_ids)` is the Merkle Tree Hash derived from the rollup IDs listed in
	// the rollup transactions.
	RollupIdsProof *v1.Proof
	// contains filtered or unexported fields
}

func (FilteredSequencerBlock_builder) Build

type GetFilteredSequencerBlockRequest

type GetFilteredSequencerBlockRequest struct {

	// The height of the block to retrieve.
	Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	// The 32 bytes identifying a rollup. Usually the sha256 hash of a plain rollup name.
	RollupIds []*v1.RollupId `protobuf:"bytes,2,rep,name=rollup_ids,json=rollupIds,proto3" json:"rollup_ids,omitempty"`
	// contains filtered or unexported fields
}

func (*GetFilteredSequencerBlockRequest) GetHeight

func (*GetFilteredSequencerBlockRequest) GetRollupIds

func (x *GetFilteredSequencerBlockRequest) GetRollupIds() []*v1.RollupId

func (*GetFilteredSequencerBlockRequest) ProtoMessage

func (*GetFilteredSequencerBlockRequest) ProtoMessage()

func (*GetFilteredSequencerBlockRequest) ProtoReflect

func (*GetFilteredSequencerBlockRequest) Reset

func (*GetFilteredSequencerBlockRequest) SetHeight

func (x *GetFilteredSequencerBlockRequest) SetHeight(v uint64)

func (*GetFilteredSequencerBlockRequest) SetRollupIds

func (x *GetFilteredSequencerBlockRequest) SetRollupIds(v []*v1.RollupId)

func (*GetFilteredSequencerBlockRequest) String

type GetFilteredSequencerBlockRequest_builder

type GetFilteredSequencerBlockRequest_builder struct {

	// The height of the block to retrieve.
	Height uint64
	// The 32 bytes identifying a rollup. Usually the sha256 hash of a plain rollup name.
	RollupIds []*v1.RollupId
	// contains filtered or unexported fields
}

func (GetFilteredSequencerBlockRequest_builder) Build

type GetPendingNonceRequest

type GetPendingNonceRequest struct {

	// The account to retrieve the pending nonce for.
	Address *v1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*GetPendingNonceRequest) ClearAddress

func (x *GetPendingNonceRequest) ClearAddress()

func (*GetPendingNonceRequest) GetAddress

func (x *GetPendingNonceRequest) GetAddress() *v1.Address

func (*GetPendingNonceRequest) HasAddress

func (x *GetPendingNonceRequest) HasAddress() bool

func (*GetPendingNonceRequest) ProtoMessage

func (*GetPendingNonceRequest) ProtoMessage()

func (*GetPendingNonceRequest) ProtoReflect

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

func (*GetPendingNonceRequest) Reset

func (x *GetPendingNonceRequest) Reset()

func (*GetPendingNonceRequest) SetAddress

func (x *GetPendingNonceRequest) SetAddress(v *v1.Address)

func (*GetPendingNonceRequest) String

func (x *GetPendingNonceRequest) String() string

type GetPendingNonceRequest_builder

type GetPendingNonceRequest_builder struct {

	// The account to retrieve the pending nonce for.
	Address *v1.Address
	// contains filtered or unexported fields
}

func (GetPendingNonceRequest_builder) Build

type GetPendingNonceResponse

type GetPendingNonceResponse struct {

	// The pending nonce for the given account.
	Inner uint32 `protobuf:"varint,1,opt,name=inner,proto3" json:"inner,omitempty"`
	// contains filtered or unexported fields
}

func (*GetPendingNonceResponse) GetInner

func (x *GetPendingNonceResponse) GetInner() uint32

func (*GetPendingNonceResponse) ProtoMessage

func (*GetPendingNonceResponse) ProtoMessage()

func (*GetPendingNonceResponse) ProtoReflect

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

func (*GetPendingNonceResponse) Reset

func (x *GetPendingNonceResponse) Reset()

func (*GetPendingNonceResponse) SetInner

func (x *GetPendingNonceResponse) SetInner(v uint32)

func (*GetPendingNonceResponse) String

func (x *GetPendingNonceResponse) String() string

type GetPendingNonceResponse_builder

type GetPendingNonceResponse_builder struct {

	// The pending nonce for the given account.
	Inner uint32
	// contains filtered or unexported fields
}

func (GetPendingNonceResponse_builder) Build

type GetSequencerBlockRequest

type GetSequencerBlockRequest struct {

	// The height of the block to retrieve.
	Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	// contains filtered or unexported fields
}

func (*GetSequencerBlockRequest) GetHeight

func (x *GetSequencerBlockRequest) GetHeight() uint64

func (*GetSequencerBlockRequest) ProtoMessage

func (*GetSequencerBlockRequest) ProtoMessage()

func (*GetSequencerBlockRequest) ProtoReflect

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

func (*GetSequencerBlockRequest) Reset

func (x *GetSequencerBlockRequest) Reset()

func (*GetSequencerBlockRequest) SetHeight

func (x *GetSequencerBlockRequest) SetHeight(v uint64)

func (*GetSequencerBlockRequest) String

func (x *GetSequencerBlockRequest) String() string

type GetSequencerBlockRequest_builder

type GetSequencerBlockRequest_builder struct {

	// The height of the block to retrieve.
	Height uint64
	// contains filtered or unexported fields
}

func (GetSequencerBlockRequest_builder) Build

type RollupData

type RollupData struct {

	// Types that are valid to be assigned to Value:
	//
	//	*RollupData_SequencedData
	//	*RollupData_Deposit
	Value isRollupData_Value `protobuf_oneof:"value"`
	// contains filtered or unexported fields
}

A piece of data that is sent to a rollup execution node.

The data can be either sequenced data (originating from a `SequenceAction` submitted by a user) or a `Deposit` originating from a `BridgeLockAction`.

The rollup node receives this type from conductor and must decode them accordingly.

func (*RollupData) ClearDeposit

func (x *RollupData) ClearDeposit()

func (*RollupData) ClearSequencedData

func (x *RollupData) ClearSequencedData()

func (*RollupData) ClearValue

func (x *RollupData) ClearValue()

func (*RollupData) GetDeposit

func (x *RollupData) GetDeposit() *Deposit

func (*RollupData) GetSequencedData

func (x *RollupData) GetSequencedData() []byte

func (*RollupData) GetValue

func (x *RollupData) GetValue() isRollupData_Value

func (*RollupData) HasDeposit

func (x *RollupData) HasDeposit() bool

func (*RollupData) HasSequencedData

func (x *RollupData) HasSequencedData() bool

func (*RollupData) HasValue

func (x *RollupData) HasValue() bool

func (*RollupData) ProtoMessage

func (*RollupData) ProtoMessage()

func (*RollupData) ProtoReflect

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

func (*RollupData) Reset

func (x *RollupData) Reset()

func (*RollupData) SetDeposit

func (x *RollupData) SetDeposit(v *Deposit)

func (*RollupData) SetSequencedData

func (x *RollupData) SetSequencedData(v []byte)

func (*RollupData) String

func (x *RollupData) String() string

func (*RollupData) WhichValue

func (x *RollupData) WhichValue() case_RollupData_Value

type RollupData_Deposit

type RollupData_Deposit struct {
	Deposit *Deposit `protobuf:"bytes,2,opt,name=deposit,proto3,oneof"`
}

type RollupData_SequencedData

type RollupData_SequencedData struct {
	SequencedData []byte `protobuf:"bytes,1,opt,name=sequenced_data,json=sequencedData,proto3,oneof"`
}

type RollupData_builder

type RollupData_builder struct {

	// Fields of oneof Value:
	SequencedData []byte
	Deposit       *Deposit
	// contains filtered or unexported fields
}

func (RollupData_builder) Build

func (b0 RollupData_builder) Build() *RollupData

type RollupTransactions

type RollupTransactions struct {

	// The 32 bytes identifying a rollup. Usually the sha256 hash of a plain rollup name.
	RollupId *v1.RollupId `protobuf:"bytes,1,opt,name=rollup_id,json=rollupId,proto3" json:"rollup_id,omitempty"`
	// The serialized bytes of the rollup data.
	// Each entry is a protobuf-encoded `RollupData` message.
	Transactions [][]byte `protobuf:"bytes,2,rep,name=transactions,proto3" json:"transactions,omitempty"`
	// The proof that these rollup transactions are included in sequencer block.
	// `astria.sequencer.v1alpha.SequencerBlock.rollup_transactions_proof`.
	Proof *v1.Proof `protobuf:"bytes,3,opt,name=proof,proto3" json:"proof,omitempty"`
	// contains filtered or unexported fields
}

`RollupTransactions` are a sequence of opaque bytes together with a 32 byte identifier of that rollup.

The binary encoding is understood as an implementation detail of the services sending and receiving the transactions.

func (*RollupTransactions) ClearProof

func (x *RollupTransactions) ClearProof()

func (*RollupTransactions) ClearRollupId

func (x *RollupTransactions) ClearRollupId()

func (*RollupTransactions) GetProof

func (x *RollupTransactions) GetProof() *v1.Proof

func (*RollupTransactions) GetRollupId

func (x *RollupTransactions) GetRollupId() *v1.RollupId

func (*RollupTransactions) GetTransactions

func (x *RollupTransactions) GetTransactions() [][]byte

func (*RollupTransactions) HasProof

func (x *RollupTransactions) HasProof() bool

func (*RollupTransactions) HasRollupId

func (x *RollupTransactions) HasRollupId() bool

func (*RollupTransactions) ProtoMessage

func (*RollupTransactions) ProtoMessage()

func (*RollupTransactions) ProtoReflect

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

func (*RollupTransactions) Reset

func (x *RollupTransactions) Reset()

func (*RollupTransactions) SetProof

func (x *RollupTransactions) SetProof(v *v1.Proof)

func (*RollupTransactions) SetRollupId

func (x *RollupTransactions) SetRollupId(v *v1.RollupId)

func (*RollupTransactions) SetTransactions

func (x *RollupTransactions) SetTransactions(v [][]byte)

func (*RollupTransactions) String

func (x *RollupTransactions) String() string

type RollupTransactions_builder

type RollupTransactions_builder struct {

	// The 32 bytes identifying a rollup. Usually the sha256 hash of a plain rollup name.
	RollupId *v1.RollupId
	// The serialized bytes of the rollup data.
	// Each entry is a protobuf-encoded `RollupData` message.
	Transactions [][]byte
	// The proof that these rollup transactions are included in sequencer block.
	// `astria.sequencer.v1alpha.SequencerBlock.rollup_transactions_proof`.
	Proof *v1.Proof
	// contains filtered or unexported fields
}

func (RollupTransactions_builder) Build

type SequencerBlock

type SequencerBlock struct {

	// the block header, which contains sequencer-specific commitments.
	Header *SequencerBlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// The collection of rollup transactions that were included in this block.
	RollupTransactions []*RollupTransactions `protobuf:"bytes,2,rep,name=rollup_transactions,json=rollupTransactions,proto3" json:"rollup_transactions,omitempty"`
	// The proof that the rollup transactions are included in the CometBFT block this
	// sequencer block is derived form. This proof together with
	// `Sha256(MTH(rollup_transactions))` must match `header.data_hash`.
	// `MTH(rollup_transactions)` is the Merkle Tree Hash derived from the
	// rollup transactions.
	RollupTransactionsProof *v1.Proof `` /* 132-byte string literal not displayed */
	// The proof that the rollup IDs listed in `rollup_transactions` are included
	// in the CometBFT block this sequencer block is derived form.
	//
	// This proof is used to verify that the relayer that posts to celestia
	// includes all rollup IDs and does not censor any.
	//
	// This proof together with `Sha256(MTH(rollup_ids))` must match `header.data_hash`.
	// `MTH(rollup_ids)` is the Merkle Tree Hash derived from the rollup IDs listed in
	// the rollup transactions.
	RollupIdsProof *v1.Proof `protobuf:"bytes,4,opt,name=rollup_ids_proof,json=rollupIdsProof,proto3" json:"rollup_ids_proof,omitempty"`
	// / The block hash of the cometbft block that corresponds to this sequencer block.
	BlockHash []byte `protobuf:"bytes,5,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// contains filtered or unexported fields
}

`SequencerBlock` is constructed from a tendermint/cometbft block by converting its opaque `data` bytes into sequencer specific types.

func (*SequencerBlock) ClearHeader

func (x *SequencerBlock) ClearHeader()

func (*SequencerBlock) ClearRollupIdsProof

func (x *SequencerBlock) ClearRollupIdsProof()

func (*SequencerBlock) ClearRollupTransactionsProof

func (x *SequencerBlock) ClearRollupTransactionsProof()

func (*SequencerBlock) GetBlockHash

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

func (*SequencerBlock) GetHeader

func (x *SequencerBlock) GetHeader() *SequencerBlockHeader

func (*SequencerBlock) GetRollupIdsProof

func (x *SequencerBlock) GetRollupIdsProof() *v1.Proof

func (*SequencerBlock) GetRollupTransactions

func (x *SequencerBlock) GetRollupTransactions() []*RollupTransactions

func (*SequencerBlock) GetRollupTransactionsProof

func (x *SequencerBlock) GetRollupTransactionsProof() *v1.Proof

func (*SequencerBlock) HasHeader

func (x *SequencerBlock) HasHeader() bool

func (*SequencerBlock) HasRollupIdsProof

func (x *SequencerBlock) HasRollupIdsProof() bool

func (*SequencerBlock) HasRollupTransactionsProof

func (x *SequencerBlock) HasRollupTransactionsProof() bool

func (*SequencerBlock) ProtoMessage

func (*SequencerBlock) ProtoMessage()

func (*SequencerBlock) ProtoReflect

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

func (*SequencerBlock) Reset

func (x *SequencerBlock) Reset()

func (*SequencerBlock) SetBlockHash

func (x *SequencerBlock) SetBlockHash(v []byte)

func (*SequencerBlock) SetHeader

func (x *SequencerBlock) SetHeader(v *SequencerBlockHeader)

func (*SequencerBlock) SetRollupIdsProof

func (x *SequencerBlock) SetRollupIdsProof(v *v1.Proof)

func (*SequencerBlock) SetRollupTransactions

func (x *SequencerBlock) SetRollupTransactions(v []*RollupTransactions)

func (*SequencerBlock) SetRollupTransactionsProof

func (x *SequencerBlock) SetRollupTransactionsProof(v *v1.Proof)

func (*SequencerBlock) String

func (x *SequencerBlock) String() string

type SequencerBlockHeader

type SequencerBlockHeader struct {

	// the cometbft chain ID of the sequencer chain
	ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	// the height of this sequencer block
	Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	// the timestamp of this sequencer block
	Time *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
	// the data_hash of the sequencer block (merkle root of all transaction hashes)
	DataHash []byte `protobuf:"bytes,4,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"`
	// the cometbft proposer address of the sequencer block
	ProposerAddress []byte `protobuf:"bytes,5,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
	// The 32-byte merkle root of all the rollup transactions in the block,
	// Corresponds to `MHT(astria.SequencerBlock.rollup_transactions)`,
	RollupTransactionsRoot []byte `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*SequencerBlockHeader) ClearTime

func (x *SequencerBlockHeader) ClearTime()

func (*SequencerBlockHeader) GetChainId

func (x *SequencerBlockHeader) GetChainId() string

func (*SequencerBlockHeader) GetDataHash

func (x *SequencerBlockHeader) GetDataHash() []byte

func (*SequencerBlockHeader) GetHeight

func (x *SequencerBlockHeader) GetHeight() uint64

func (*SequencerBlockHeader) GetProposerAddress

func (x *SequencerBlockHeader) GetProposerAddress() []byte

func (*SequencerBlockHeader) GetRollupTransactionsRoot

func (x *SequencerBlockHeader) GetRollupTransactionsRoot() []byte

func (*SequencerBlockHeader) GetTime

func (*SequencerBlockHeader) HasTime

func (x *SequencerBlockHeader) HasTime() bool

func (*SequencerBlockHeader) ProtoMessage

func (*SequencerBlockHeader) ProtoMessage()

func (*SequencerBlockHeader) ProtoReflect

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

func (*SequencerBlockHeader) Reset

func (x *SequencerBlockHeader) Reset()

func (*SequencerBlockHeader) SetChainId

func (x *SequencerBlockHeader) SetChainId(v string)

func (*SequencerBlockHeader) SetDataHash

func (x *SequencerBlockHeader) SetDataHash(v []byte)

func (*SequencerBlockHeader) SetHeight

func (x *SequencerBlockHeader) SetHeight(v uint64)

func (*SequencerBlockHeader) SetProposerAddress

func (x *SequencerBlockHeader) SetProposerAddress(v []byte)

func (*SequencerBlockHeader) SetRollupTransactionsRoot

func (x *SequencerBlockHeader) SetRollupTransactionsRoot(v []byte)

func (*SequencerBlockHeader) SetTime

func (*SequencerBlockHeader) String

func (x *SequencerBlockHeader) String() string

type SequencerBlockHeader_builder

type SequencerBlockHeader_builder struct {

	// the cometbft chain ID of the sequencer chain
	ChainId string
	// the height of this sequencer block
	Height uint64
	// the timestamp of this sequencer block
	Time *timestamppb.Timestamp
	// the data_hash of the sequencer block (merkle root of all transaction hashes)
	DataHash []byte
	// the cometbft proposer address of the sequencer block
	ProposerAddress []byte
	// The 32-byte merkle root of all the rollup transactions in the block,
	// Corresponds to `MHT(astria.SequencerBlock.rollup_transactions)`,
	RollupTransactionsRoot []byte
	// contains filtered or unexported fields
}

func (SequencerBlockHeader_builder) Build

type SequencerBlock_builder

type SequencerBlock_builder struct {

	// the block header, which contains sequencer-specific commitments.
	Header *SequencerBlockHeader
	// The collection of rollup transactions that were included in this block.
	RollupTransactions []*RollupTransactions
	// The proof that the rollup transactions are included in the CometBFT block this
	// sequencer block is derived form. This proof together with
	// `Sha256(MTH(rollup_transactions))` must match `header.data_hash`.
	// `MTH(rollup_transactions)` is the Merkle Tree Hash derived from the
	// rollup transactions.
	RollupTransactionsProof *v1.Proof
	// The proof that the rollup IDs listed in `rollup_transactions` are included
	// in the CometBFT block this sequencer block is derived form.
	//
	// This proof is used to verify that the relayer that posts to celestia
	// includes all rollup IDs and does not censor any.
	//
	// This proof together with `Sha256(MTH(rollup_ids))` must match `header.data_hash`.
	// `MTH(rollup_ids)` is the Merkle Tree Hash derived from the rollup IDs listed in
	// the rollup transactions.
	RollupIdsProof *v1.Proof
	// / The block hash of the cometbft block that corresponds to this sequencer block.
	BlockHash []byte
	// contains filtered or unexported fields
}

func (SequencerBlock_builder) Build

type SubmittedMetadata

type SubmittedMetadata struct {

	// the 32-byte block hash of the sequencer block.
	BlockHash []byte `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// the block header, which contains sequencer-specific commitments.
	Header *SequencerBlockHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
	// The rollup IDs that had transactions included in the `astria.sequencerblock.v1alpha1.SequencerBlock`
	// that this object is derived from.
	// Corresponds to `astria.sequencerblock.v1alpha1.RollupTransactions.rollup_id`
	// extracted from `astria.sequencerblock.v1alpha1.SsequencerBlock.rollup_transactions`.
	RollupIds []*v1.RollupId `protobuf:"bytes,3,rep,name=rollup_ids,json=rollupIds,proto3" json:"rollup_ids,omitempty"`
	// The proof that the rollup transactions are included in sequencer block.
	// Corresponds to `astria.sequencerblock.v1alpha1.SequencerBlock.rollup_transactions_proof`.
	RollupTransactionsProof *v1.Proof `` /* 132-byte string literal not displayed */
	// The proof that the rollup IDs are included in sequencer block.
	// Corresponds to `astria.sequencerblock.v1alpha1.SequencerBlock.rollup_ids_proof`.
	RollupIdsProof *v1.Proof `protobuf:"bytes,5,opt,name=rollup_ids_proof,json=rollupIdsProof,proto3" json:"rollup_ids_proof,omitempty"`
	// contains filtered or unexported fields
}

The metadata of a sequencer block that is submitted to a Data Availability provider like Celestia

It is created by splitting an `astria.sequencerblock.v1alpha1.SequencerBlock` into a `astria.sequencerblock.v1alpha1.SubmittedMetadata` (this object), and a sequence of `astria.sequencerblock.v1alpha.SubmittedRollupData` (one object per rollup that had data included in the sequencer block).

The original sequencer block (and in turn CometBFT block) can be identified by the `block_hash` field.

func (*SubmittedMetadata) ClearHeader

func (x *SubmittedMetadata) ClearHeader()

func (*SubmittedMetadata) ClearRollupIdsProof

func (x *SubmittedMetadata) ClearRollupIdsProof()

func (*SubmittedMetadata) ClearRollupTransactionsProof

func (x *SubmittedMetadata) ClearRollupTransactionsProof()

func (*SubmittedMetadata) GetBlockHash

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

func (*SubmittedMetadata) GetHeader

func (x *SubmittedMetadata) GetHeader() *SequencerBlockHeader

func (*SubmittedMetadata) GetRollupIds

func (x *SubmittedMetadata) GetRollupIds() []*v1.RollupId

func (*SubmittedMetadata) GetRollupIdsProof

func (x *SubmittedMetadata) GetRollupIdsProof() *v1.Proof

func (*SubmittedMetadata) GetRollupTransactionsProof

func (x *SubmittedMetadata) GetRollupTransactionsProof() *v1.Proof

func (*SubmittedMetadata) HasHeader

func (x *SubmittedMetadata) HasHeader() bool

func (*SubmittedMetadata) HasRollupIdsProof

func (x *SubmittedMetadata) HasRollupIdsProof() bool

func (*SubmittedMetadata) HasRollupTransactionsProof

func (x *SubmittedMetadata) HasRollupTransactionsProof() bool

func (*SubmittedMetadata) ProtoMessage

func (*SubmittedMetadata) ProtoMessage()

func (*SubmittedMetadata) ProtoReflect

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

func (*SubmittedMetadata) Reset

func (x *SubmittedMetadata) Reset()

func (*SubmittedMetadata) SetBlockHash

func (x *SubmittedMetadata) SetBlockHash(v []byte)

func (*SubmittedMetadata) SetHeader

func (x *SubmittedMetadata) SetHeader(v *SequencerBlockHeader)

func (*SubmittedMetadata) SetRollupIds

func (x *SubmittedMetadata) SetRollupIds(v []*v1.RollupId)

func (*SubmittedMetadata) SetRollupIdsProof

func (x *SubmittedMetadata) SetRollupIdsProof(v *v1.Proof)

func (*SubmittedMetadata) SetRollupTransactionsProof

func (x *SubmittedMetadata) SetRollupTransactionsProof(v *v1.Proof)

func (*SubmittedMetadata) String

func (x *SubmittedMetadata) String() string

type SubmittedMetadataList

type SubmittedMetadataList struct {
	Entries []*SubmittedMetadata `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	// contains filtered or unexported fields
}

A sequence of `astria.sequencerblock.v1alpha1.SubmittedMetadata` submitted to Celestia.

func (*SubmittedMetadataList) GetEntries

func (x *SubmittedMetadataList) GetEntries() []*SubmittedMetadata

func (*SubmittedMetadataList) ProtoMessage

func (*SubmittedMetadataList) ProtoMessage()

func (*SubmittedMetadataList) ProtoReflect

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

func (*SubmittedMetadataList) Reset

func (x *SubmittedMetadataList) Reset()

func (*SubmittedMetadataList) SetEntries

func (x *SubmittedMetadataList) SetEntries(v []*SubmittedMetadata)

func (*SubmittedMetadataList) String

func (x *SubmittedMetadataList) String() string

type SubmittedMetadataList_builder

type SubmittedMetadataList_builder struct {
	Entries []*SubmittedMetadata
	// contains filtered or unexported fields
}

func (SubmittedMetadataList_builder) Build

type SubmittedMetadata_builder

type SubmittedMetadata_builder struct {

	// the 32-byte block hash of the sequencer block.
	BlockHash []byte
	// the block header, which contains sequencer-specific commitments.
	Header *SequencerBlockHeader
	// The rollup IDs that had transactions included in the `astria.sequencerblock.v1alpha1.SequencerBlock`
	// that this object is derived from.
	// Corresponds to `astria.sequencerblock.v1alpha1.RollupTransactions.rollup_id`
	// extracted from `astria.sequencerblock.v1alpha1.SsequencerBlock.rollup_transactions`.
	RollupIds []*v1.RollupId
	// The proof that the rollup transactions are included in sequencer block.
	// Corresponds to `astria.sequencerblock.v1alpha1.SequencerBlock.rollup_transactions_proof`.
	RollupTransactionsProof *v1.Proof
	// The proof that the rollup IDs are included in sequencer block.
	// Corresponds to `astria.sequencerblock.v1alpha1.SequencerBlock.rollup_ids_proof`.
	RollupIdsProof *v1.Proof
	// contains filtered or unexported fields
}

func (SubmittedMetadata_builder) Build

type SubmittedRollupData

type SubmittedRollupData struct {

	// The hash of the sequencer block. Must be 32 bytes.
	SequencerBlockHash []byte `protobuf:"bytes,1,opt,name=sequencer_block_hash,json=sequencerBlockHash,proto3" json:"sequencer_block_hash,omitempty"`
	// The 32 bytes identifying the rollup this blob belongs to. Matches
	// `astria.sequencer.v1.RollupTransactions.rollup_id`
	RollupId *v1.RollupId `protobuf:"bytes,2,opt,name=rollup_id,json=rollupId,proto3" json:"rollup_id,omitempty"`
	// A list of opaque bytes that are serialized rollup transactions.
	Transactions [][]byte `protobuf:"bytes,3,rep,name=transactions,proto3" json:"transactions,omitempty"`
	// The proof that these rollup transactions are included in sequencer block.
	// `astria.sequencer.v1alpha.SequencerBlock.rollup_transactions_proof`.
	Proof *v1.Proof `protobuf:"bytes,4,opt,name=proof,proto3" json:"proof,omitempty"`
	// contains filtered or unexported fields
}

A collection of transactions belonging to a specific Rollup that is submitted to a Data Availability provider like Celestia.

It is created by splitting an `astria.sequencerblock.v1alpha1.SequencerBlock` into a `astria.sequencerblock.v1alpha1.SubmittedMetadata`, and a sequence of `astria.sequencerblock.v1alpha.SubmittedRollupData` (this object; one object per rollup that had data included in the sequencer block).

The original sequencer block (and in turn CometBFT block) can be identified by the `sequencer_block_hash` field.

func (*SubmittedRollupData) ClearProof

func (x *SubmittedRollupData) ClearProof()

func (*SubmittedRollupData) ClearRollupId

func (x *SubmittedRollupData) ClearRollupId()

func (*SubmittedRollupData) GetProof

func (x *SubmittedRollupData) GetProof() *v1.Proof

func (*SubmittedRollupData) GetRollupId

func (x *SubmittedRollupData) GetRollupId() *v1.RollupId

func (*SubmittedRollupData) GetSequencerBlockHash

func (x *SubmittedRollupData) GetSequencerBlockHash() []byte

func (*SubmittedRollupData) GetTransactions

func (x *SubmittedRollupData) GetTransactions() [][]byte

func (*SubmittedRollupData) HasProof

func (x *SubmittedRollupData) HasProof() bool

func (*SubmittedRollupData) HasRollupId

func (x *SubmittedRollupData) HasRollupId() bool

func (*SubmittedRollupData) ProtoMessage

func (*SubmittedRollupData) ProtoMessage()

func (*SubmittedRollupData) ProtoReflect

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

func (*SubmittedRollupData) Reset

func (x *SubmittedRollupData) Reset()

func (*SubmittedRollupData) SetProof

func (x *SubmittedRollupData) SetProof(v *v1.Proof)

func (*SubmittedRollupData) SetRollupId

func (x *SubmittedRollupData) SetRollupId(v *v1.RollupId)

func (*SubmittedRollupData) SetSequencerBlockHash

func (x *SubmittedRollupData) SetSequencerBlockHash(v []byte)

func (*SubmittedRollupData) SetTransactions

func (x *SubmittedRollupData) SetTransactions(v [][]byte)

func (*SubmittedRollupData) String

func (x *SubmittedRollupData) String() string

type SubmittedRollupDataList

type SubmittedRollupDataList struct {
	Entries []*SubmittedRollupData `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	// contains filtered or unexported fields
}

A sequence of `astria.sequencerblock.v1alpha1.SubmittedRollupData` submitted to Celestia.

func (*SubmittedRollupDataList) GetEntries

func (x *SubmittedRollupDataList) GetEntries() []*SubmittedRollupData

func (*SubmittedRollupDataList) ProtoMessage

func (*SubmittedRollupDataList) ProtoMessage()

func (*SubmittedRollupDataList) ProtoReflect

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

func (*SubmittedRollupDataList) Reset

func (x *SubmittedRollupDataList) Reset()

func (*SubmittedRollupDataList) SetEntries

func (x *SubmittedRollupDataList) SetEntries(v []*SubmittedRollupData)

func (*SubmittedRollupDataList) String

func (x *SubmittedRollupDataList) String() string

type SubmittedRollupDataList_builder

type SubmittedRollupDataList_builder struct {
	Entries []*SubmittedRollupData
	// contains filtered or unexported fields
}

func (SubmittedRollupDataList_builder) Build

type SubmittedRollupData_builder

type SubmittedRollupData_builder struct {

	// The hash of the sequencer block. Must be 32 bytes.
	SequencerBlockHash []byte
	// The 32 bytes identifying the rollup this blob belongs to. Matches
	// `astria.sequencer.v1.RollupTransactions.rollup_id`
	RollupId *v1.RollupId
	// A list of opaque bytes that are serialized rollup transactions.
	Transactions [][]byte
	// The proof that these rollup transactions are included in sequencer block.
	// `astria.sequencer.v1alpha.SequencerBlock.rollup_transactions_proof`.
	Proof *v1.Proof
	// contains filtered or unexported fields
}

func (SubmittedRollupData_builder) Build

Source Files

  • block.pb.go
  • celestia.pb.go
  • service.pb.go

Jump to

Keyboard shortcuts

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