Documentation
¶
Index ¶
- Variables
- func GetTrustedSignerAddr(aggchainFEPContract types.FEPContractQuerier) (common.Address, error)
- func NewAggchainFEPQuerier(logger *log.Logger, aggsenderMode types.AggsenderMode, ...) (types.AggchainFEPRollupQuerier, error)
- func NewAggchainProofQuery(log types.Logger, aggchainproofclient types.AggchainProofClientInterface, ...) *aggchainProofQuery
- func NewBridgeDataQuerier(log types.Logger, bridgeSyncer types.L2BridgeSyncer, ...) *bridgeDataQuerier
- func NewCertificateQuerier(bridgeSyncer types.L2BridgeSyncer, ...) types.CertificateQuerier
- func NewGERDataQuerier(l1InfoTreeQuerier types.L1InfoTreeDataQuerier, ...) types.GERQuerier
- func NewLERDataQuerier(l1GenesisBlock uint64, rollupDataQuerier types.RollupDataQuerier) types.LERQuerier
- type AggProofPublicValuesQuery
- type BaseMultisigCommitteeQuery
- func (m *BaseMultisigCommitteeQuery) ContractMode() (types.AggsenderMode, error)
- func (m *BaseMultisigCommitteeQuery) GetMultisigCommittee(ctx context.Context, blockNum *big.Int) (*types.MultisigCommittee, error)
- func (m *BaseMultisigCommitteeQuery) ResolveAutoMode(cfgMode types.AggsenderMode) (types.AggsenderMode, error)
- type CommitteeOverride
- type L1InfoTreeDataQuerier
- func (l *L1InfoTreeDataQuerier) CheckIfClaimsArePartOfFinalizedL1InfoTree(finalizedL1InfoTreeRoot *treetypes.Root, claims []bridgesync.Claim) error
- func (l *L1InfoTreeDataQuerier) GetFinalizedL1InfoTreeData(ctx context.Context) (treetypes.Proof, *l1infotreesync.L1InfoTreeLeaf, *treetypes.Root, error)
- func (l *L1InfoTreeDataQuerier) GetInfoByIndex(ctx context.Context, index uint32) (*l1infotreesync.L1InfoTreeLeaf, error)
- func (l *L1InfoTreeDataQuerier) GetL1InfoRootByLeafIndex(ctx context.Context, leafIndex uint32) (*treetypes.Root, error)
- func (l *L1InfoTreeDataQuerier) GetLatestFinalizedL1InfoRoot(ctx context.Context) (*treetypes.Root, *l1infotreesync.L1InfoTreeLeaf, error)
- func (l *L1InfoTreeDataQuerier) GetProofForGER(ctx context.Context, ger, rootFromWhichToProve common.Hash) (*l1infotreesync.L1InfoTreeLeaf, treetypes.Proof, error)
Constants ¶
This section is empty.
Variables ¶
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
CommitteeOverride is used to override the URLs of the committee members
func (*CommitteeOverride) ReplaceURL ¶ added in v0.7.0
func (m *CommitteeOverride) ReplaceURL( committee []aggchainbase.IAggchainSignersSignerInfo) []aggchainbase.IAggchainSignersSignerInfo
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 ¶
func (l *L1InfoTreeDataQuerier) GetFinalizedL1InfoTreeData(ctx context.Context, ) (treetypes.Proof, *l1infotreesync.L1InfoTreeLeaf, *treetypes.Root, error)
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