Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // UnsafeBlockSignerAddressSystemConfigStorageSlot is the storage slot identifier of the unsafeBlockSigner // `address` storage value in the SystemConfig L1 contract. Computed as `keccak256("systemconfig.unsafeblocksigner")` UnsafeBlockSignerAddressSystemConfigStorageSlot = common.HexToHash("0x65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08") // RequiredProtocolVersionStorageSlot is the storage slot that the required protocol version is stored at. // Computed as: `bytes32(uint256(keccak256("protocolversion.required")) - 1)` RequiredProtocolVersionStorageSlot = common.HexToHash("0x4aaefe95bd84fd3f32700cf3b7566bc944b73138e41958b5785826df2aecace0") // RecommendedProtocolVersionStorageSlot is the storage slot that the recommended protocol version is stored at. // Computed as: `bytes32(uint256(keccak256("protocolversion.recommended")) - 1)` RecommendedProtocolVersionStorageSlot = common.HexToHash("0xe314dfc40f0025322aacc0ba8ef420b62fb3b702cf01e0cdf3d829117ac2ff1a") )
Functions ¶
This section is empty.
Types ¶
type ReadonlyRuntimeConfig ¶
type ReadonlyRuntimeConfig interface {
P2PSequencerAddress() common.Address
RequiredProtocolVersion() params.ProtocolVersion
RecommendedProtocolVersion() params.ProtocolVersion
}
type RuntimeCfgL1Source ¶
type RuntimeConfig ¶
type RuntimeConfig struct {
// contains filtered or unexported fields
}
RuntimeConfig maintains runtime-configurable options. These options are loaded based on initial loading + updates for every subsequent L1 block. Only the *latest* values are maintained however, the runtime config has no concept of chain history, does not require any archive data, and may be out of sync with the rollup derivation process.
func NewRuntimeConfig ¶
func NewRuntimeConfig(log log.Logger, l1Client RuntimeCfgL1Source, rollupCfg *rollup.Config) *RuntimeConfig
func (*RuntimeConfig) Load ¶
func (r *RuntimeConfig) Load(ctx context.Context, l1Ref eth.L1BlockRef) error
Load resets the runtime configuration by fetching the latest config data from L1 at the given L1 block. Load is safe to call concurrently, but will lock the runtime configuration modifications only, and will thus not block other Load calls with possibly alternative L1 block views.
func (*RuntimeConfig) P2PSequencerAddress ¶
func (r *RuntimeConfig) P2PSequencerAddress() common.Address
func (*RuntimeConfig) RecommendedProtocolVersion ¶
func (r *RuntimeConfig) RecommendedProtocolVersion() params.ProtocolVersion
func (*RuntimeConfig) RequiredProtocolVersion ¶
func (r *RuntimeConfig) RequiredProtocolVersion() params.ProtocolVersion
Click to show internal directories.
Click to hide internal directories.