@@ -561,13 +561,23 @@ func (cwsm *ConsumerWSSubscriptionManager) verifySubscriptionMessage(hashedParam
561561 lavaprotocol .UpdateRequestedBlock (request .RelayData , reply ) // update relay request requestedBlock to the provided one in case it was arbitrary
562562 filteredHeaders , _ , ignoredHeaders := cwsm .chainParser .HandleHeaders (reply .Metadata , chainMessage .GetApiCollection (), spectypes .Header_pass_reply )
563563 reply .Metadata = filteredHeaders
564- err := lavaprotocol .VerifyRelayReply (context .Background (), reply , request , providerAddr )
565- if err != nil {
566- return utils .LavaFormatError ("Failed VerifyRelayReply on subscription message" , err ,
567- utils .LogAttr ("subscriptionMsg" , reply .Data ),
568- utils .LogAttr ("hashedParams" , hashedParams ),
569- utils .LogAttr ("originalRequest" , request ),
570- )
564+
565+ // For static providers, skip signature verification (similar to regular RPC calls)
566+ // Use the explicit flag from the session manager rather than heuristics based on address formatting.
567+ isStaticProvider := false
568+ if cwsm .consumerSessionManager != nil {
569+ isStaticProvider = cwsm .consumerSessionManager .IsStaticProvider (providerAddr )
570+ }
571+
572+ if ! isStaticProvider {
573+ err := lavaprotocol .VerifyRelayReply (context .Background (), reply , request , providerAddr )
574+ if err != nil {
575+ return utils .LavaFormatError ("Failed VerifyRelayReply on subscription message" , err ,
576+ utils .LogAttr ("subscriptionMsg" , reply .Data ),
577+ utils .LogAttr ("hashedParams" , hashedParams ),
578+ utils .LogAttr ("originalRequest" , request ),
579+ )
580+ }
571581 }
572582
573583 reply .Metadata = append (reply .Metadata , ignoredHeaders ... )
0 commit comments