MaxBatchSize
for which it can support; exceeding this could result in failure:
(t)
(i.e, the time for a batch to be accredited on the DA). Simply, max_throughput = DA.MaxBatchSize / t
. When falling back, max_throughput
could decrease, creating backpressure on the existing unsafe sequencer backlog. With high enough backpressure or a growing sync head delta (i.e, # of messages in backlog - # of messages confirmed
), a reorg could occur between the unsafe and confirmed rollup chain heads.SequencerInbox
entrypoint functions with different cost amortization logics. Hot switching from EigenDA (no dispersal amortization) to e.g calldata would result in a domain switch for the l2 tx pricing model.Please advise the following PR to see actual code
503
Service Unavailable status code.EigenDAFailover
enabled, proceed to check if the batch size is greater than the maximum limit for fallback destination (i.e, anytrust, ethDA):batchPoster
to retry on its event loop when the next ticker hitIn the event where len(batch) < MaxBatchSizeAnyTrust || len(batch) < MaxBatchSize4844 || len(batch) < MaxBatchSizeCalldata
, the batch poster will discard the batch and set a boolean field eigenDAFailoverETHDA
to use during the next invocation to post the batch to ETHDA. This incurs some latency but works fine when using a single batch poster. When using multiple batch posters howevever, this results an inconsistency where bug a batch poster can disperse to ETHDA when EigenDA is actually back online. This inconsistency is temporary and doesn't compromise the liveness or safety of the system.