returneth.L2BlockRef{},fmt.Errorf("expected L2 genesis hash to match L2 block at genesis block number %d: %s <> %s",genesis.L2.Number,hash,genesis.L2.Hash)
}
l1Origin=genesis.L1
sequenceNumber=0
}else{
txs:=block.Transactions()
iftxs.Len()==0{
returneth.L2BlockRef{},fmt.Errorf("l2 block is missing L1 info deposit tx, block hash: %s",hash)
}
tx:=txs[0]
iftx.Type()!=types.DepositTxType{
returneth.L2BlockRef{},fmt.Errorf("first payload tx has unexpected tx type: %d",tx.Type())
}
info,err:=L1InfoDepositTxData(tx.Data())
iferr!=nil{
returneth.L2BlockRef{},fmt.Errorf("failed to parse L1 info deposit tx from L2 block: %w",err)