@@ -317,6 +317,60 @@ contract MasterBlueprintServiceManager is RootChainEnabled, AccessControl, Pausa
317317 IBlueprintServiceManager (manager).onUpdateRpcAddress (operator);
318318 emit RpcAddressUpdated (blueprintId, operator);
319319 }
320+
321+ /// @dev Get the heartbeat interval for a service.
322+ /// @param blueprintId The unique identifier of the blueprint.
323+ /// @param serviceId The ID of the service.
324+ /// @return useDefault Whether to use the default value.
325+ /// @return interval The heartbeat interval in blocks.
326+ function getHeartbeatInterval (
327+ uint64 blueprintId ,
328+ uint64 serviceId
329+ )
330+ public
331+ view
332+ onlyFromRootChain
333+ returns (bool useDefault , uint64 interval )
334+ {
335+ address manager = blueprints.get (blueprintId);
336+ return IBlueprintServiceManager (manager).getHeartbeatInterval (serviceId);
337+ }
338+
339+ /// @dev Get the heartbeat threshold for a service.
340+ /// @param blueprintId The unique identifier of the blueprint.
341+ /// @param serviceId The ID of the service.
342+ /// @return useDefault Whether to use the default value.
343+ /// @return threshold The heartbeat threshold percentage (0-100).
344+ function getHeartbeatThreshold (
345+ uint64 blueprintId ,
346+ uint64 serviceId
347+ )
348+ public
349+ view
350+ onlyFromRootChain
351+ returns (bool useDefault , uint8 threshold )
352+ {
353+ address manager = blueprints.get (blueprintId);
354+ return IBlueprintServiceManager (manager).getHeartbeatThreshold (serviceId);
355+ }
356+
357+ /// @dev Get the slashing window for a service.
358+ /// @param blueprintId The unique identifier of the blueprint.
359+ /// @param serviceId The ID of the service.
360+ /// @return useDefault Whether to use the default value.
361+ /// @return window The slashing window in blocks.
362+ function getSlashingWindow (
363+ uint64 blueprintId ,
364+ uint64 serviceId
365+ )
366+ public
367+ view
368+ onlyFromRootChain
369+ returns (bool useDefault , uint64 window )
370+ {
371+ address manager = blueprints.get (blueprintId);
372+ return IBlueprintServiceManager (manager).getSlashingWindow (serviceId);
373+ }
320374
321375 /// @dev Called when a user requests a service instance from the blueprint.
322376 /// @param blueprintId The blueprint unique identifier.
0 commit comments