Help us shape the future of Go! Take the 2026 Go Developer Survey

query

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2025 License: Apache-2.0, MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoProofBuiltYet = &grpc.GRPCError{
	Code:    codes.Unavailable,
	Message: "Proposer service has not built any proof yet",
}

Functions

func GetTrustedSignerAddr added in v0.7.0

func GetTrustedSignerAddr(aggchainFEPContract types.FEPContractQuerier) (common.Address, error)

GetTrustedSignerAddr retrieves the trusted signer address from the AggchainFEP contract

func NewAggchainFEPQuerier added in v0.7.0

func NewAggchainFEPQuerier(
	logger *log.Logger,
	aggsenderMode types.AggsenderMode,
	aggchainFEPAddr common.Address,
	l1Client aggkittypes.BaseEthereumClienter) (types.AggchainFEPRollupQuerier, error)

NewAggchainFEPQuerier creates a new AggchainFEP querier instance for interacting with the AggchainFEP contract.

The function handles two scenarios: 1. If aggchainFEPAddr is the zero address, it returns a no-op querier for PP networks without AggchainFEP contract 2. If a valid address is provided, it creates a real querier that connects to the AggchainFEP contract

Parameters:

  • logger: Logger instance for recording operations and errors
  • aggchainFEPAddr: The Ethereum address of the AggchainFEP contract
  • l1Client: Ethereum client interface for L1 blockchain interactions

Returns:

  • types.AggchainFEPQuerier: Either a no-op or real querier implementation
  • error: Any error encountered during contract initialization or starting block number retrieval

The function will fail if:

  • The AggchainFEP contract caller cannot be created
  • The starting block number cannot be retrieved from the contract

func NewAggchainProofQuery added in v0.7.0

func NewAggchainProofQuery(
	log types.Logger,
	aggchainproofclient types.AggchainProofClientInterface,
	l1InfoTreeDataQuerier types.L1InfoTreeDataQuerier,
	optimisticSigner types.OptimisticSigner,
	lerQuerier types.LocalExitRootQuery,
	gerQuerier types.GERQuerier,
) *aggchainProofQuery

NewAggchainProofQuery creates a new instance of aggchainProofQuery with the provided dependencies.

func NewBridgeDataQuerier

func NewBridgeDataQuerier(
	log types.Logger,
	bridgeSyncer types.L2BridgeSyncer,
	delayBetweenRetries time.Duration,
) *bridgeDataQuerier

NewBridgeDataQuerier returns a new instance of the BridgeDataQuerier

func NewCertificateQuerier added in v0.7.0

func NewCertificateQuerier(
	bridgeSyncer types.L2BridgeSyncer,
	aggchainFEPQuerier types.AggchainFEPRollupQuerier,
	agglayerClient agglayer.AgglayerClientInterface,
) types.CertificateQuerier

func NewGERDataQuerier

func NewGERDataQuerier(
	l1InfoTreeQuerier types.L1InfoTreeDataQuerier,
	chainGERReader types.ChainGERReader) types.GERQuerier

NewGERDataQuerier returns a new instance of the GERQuerier

func NewLERDataQuerier added in v0.5.0

func NewLERDataQuerier(
	l1GenesisBlock uint64,
	rollupDataQuerier types.RollupDataQuerier) types.LERQuerier

NewLERDataQuerier creates a new instance of LERQuerier for querying Layer 1 Ethereum Rollup data. It initializes the RollupManager contract using the provided address and Ethereum client.

Parameters:

  • l1GenesisBlock: The block number of the Layer 1 genesis block.
  • l1Client: An implementation of BaseEthereumClienter for interacting with the Ethereum network.

Returns:

  • types.LERQuerier: An initialized LERQuerier for querying rollup data.

Types

type AggProofPublicValuesQuery added in v0.7.0

type AggProofPublicValuesQuery struct {
	// contains filtered or unexported fields
}

AggProofPublicValuesQuery implements AggProofPublicValuesQuerier

func NewAggProofPublicValuesQuery added in v0.7.0

func NewAggProofPublicValuesQuery(
	aggchainFEPContract types.FEPContractQuerier,
	aggchainFEPAddr common.Address,
	opNodeClient types.OpNodeClienter,
	proverAddress common.Address,
) *AggProofPublicValuesQuery

NewAggProofPublicValuesQuery creates a new instance of AggProofPublicValuesQuery

func (*AggProofPublicValuesQuery) GetAggregationProofPublicValuesData added in v0.7.0

func (a *AggProofPublicValuesQuery) GetAggregationProofPublicValuesData(
	lastProvenBlock, requestedEndBlock uint64,
	l1InfoTreeLeafHash common.Hash) (*types.AggregationProofPublicValues, error)

GetAggregationProofPublicValuesData retrieves the AggregationProofPublicValue required for the optimistic aggregation proof

type BaseMultisigCommitteeQuery added in v0.7.0

type BaseMultisigCommitteeQuery struct {
	// contains filtered or unexported fields
}

func NewBaseMultisigCommitteeQuery added in v0.7.0

func NewBaseMultisigCommitteeQuery(sovereignRollupAddr common.Address,
	l1Client aggkittypes.BaseEthereumClienter,
	overrideURL *CommitteeOverride) (*BaseMultisigCommitteeQuery, error)

NewBaseMultisigCommitteeQuery creates a new instance of BaseMultisigCommitteeQuery

func (*BaseMultisigCommitteeQuery) ContractMode added in v0.7.0

func (m *BaseMultisigCommitteeQuery) ContractMode() (types.AggsenderMode, error)

ContractMode returns the mode of the multisig contract (PP or FEP)

func (*BaseMultisigCommitteeQuery) GetMultisigCommittee added in v0.7.0

func (m *BaseMultisigCommitteeQuery) GetMultisigCommittee(
	ctx context.Context, blockNum *big.Int) (*types.MultisigCommittee, error)

GetMultisigCommittee reads the multisig committee from the smart contract for a certain block

func (*BaseMultisigCommitteeQuery) ResolveAutoMode added in v0.7.0

func (m *BaseMultisigCommitteeQuery) ResolveAutoMode(cfgMode types.AggsenderMode) (types.AggsenderMode, error)

type CommitteeOverride added in v0.7.0

type CommitteeOverride struct {
	// oldURL -> newURL
	URLMapping map[string]string
}

CommitteeOverride is used to override the URLs of the committee members

func (*CommitteeOverride) ReplaceURL added in v0.7.0

ReplaceURL replaces the URLs of the committee members with the ones in the override map

func (*CommitteeOverride) String added in v0.7.0

func (c *CommitteeOverride) String() string

type L1InfoTreeDataQuerier

type L1InfoTreeDataQuerier struct {
	// contains filtered or unexported fields
}

L1InfoTreeDataQuerier is a struct that holds the logic to query the L1 Info tree data

func NewL1InfoTreeDataQuerier

func NewL1InfoTreeDataQuerier(
	l1Client aggkittypes.BaseEthereumClienter,
	l1InfoTreeSyncer types.L1InfoTreeSyncer) *L1InfoTreeDataQuerier

NewL1InfoTreeDataQuerier returns a new instance of the L1InfoTreeDataQuery

func (*L1InfoTreeDataQuerier) CheckIfClaimsArePartOfFinalizedL1InfoTree

func (l *L1InfoTreeDataQuerier) CheckIfClaimsArePartOfFinalizedL1InfoTree(
	finalizedL1InfoTreeRoot *treetypes.Root,
	claims []bridgesync.Claim) error

CheckIfClaimsArePartOfFinalizedL1InfoTree checks if the claims are part of the finalized L1 Info tree

func (*L1InfoTreeDataQuerier) GetFinalizedL1InfoTreeData

GetFinalizedL1InfoTreeData returns the L1 Info tree data for the last finalized processed block l1InfoTreeData is: - merkle proof of given l1 info tree leaf - the leaf data of the highest index leaf on that block and root - the root of the l1 info tree on that block

func (*L1InfoTreeDataQuerier) GetInfoByIndex added in v0.7.0

func (l *L1InfoTreeDataQuerier) GetInfoByIndex(
	ctx context.Context, index uint32) (*l1infotreesync.L1InfoTreeLeaf, error)

GetInfoByIndex returns the L1 Info tree leaf for the given index

func (*L1InfoTreeDataQuerier) GetL1InfoRootByLeafIndex added in v0.7.0

func (l *L1InfoTreeDataQuerier) GetL1InfoRootByLeafIndex(ctx context.Context,
	leafIndex uint32) (*treetypes.Root, error)

GetL1InfoRootByLeafIndex returns the L1 Info tree root tha corresponds to the given leaf index

func (*L1InfoTreeDataQuerier) GetLatestFinalizedL1InfoRoot

func (l *L1InfoTreeDataQuerier) GetLatestFinalizedL1InfoRoot(ctx context.Context) (
	*treetypes.Root, *l1infotreesync.L1InfoTreeLeaf, error)

GetLatestFinalizedL1InfoRoot returns the latest processed l1 info tree root based on the latest finalized l1 block

func (*L1InfoTreeDataQuerier) GetProofForGER

func (l *L1InfoTreeDataQuerier) GetProofForGER(
	ctx context.Context, ger, rootFromWhichToProve common.Hash) (
	*l1infotreesync.L1InfoTreeLeaf, treetypes.Proof, error)

GetProofForGER returns the L1 Info tree leaf and the merkle proof for the given GER

Jump to

Keyboard shortcuts

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