diff --git a/examples/IncredibleSquaringBlueprint.sol b/examples/IncredibleSquaringBlueprint.sol index a5f6e17..c139a33 100644 --- a/examples/IncredibleSquaringBlueprint.sol +++ b/examples/IncredibleSquaringBlueprint.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.19; -import "core/BlueprintServiceManagerBase.sol"; +import "../src/BlueprintServiceManagerBase.sol"; /** * @title IncredibleSquaringBlueprint diff --git a/src/BlueprintServiceManagerBase.sol b/src/BlueprintServiceManagerBase.sol index f3486b1..93ad784 100644 --- a/src/BlueprintServiceManagerBase.sol +++ b/src/BlueprintServiceManagerBase.sol @@ -1,7 +1,6 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.20; -import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; import "src/Permissions.sol"; import "src/IBlueprintServiceManager.sol"; @@ -151,4 +150,9 @@ contract BlueprintServiceManagerBase is IBlueprintServiceManager, RootChainEnabl function queryDisputeOrigin(uint64) external view virtual returns (address disputeOrigin) { return address(this); } + + /// @inheritdoc IBlueprintServiceManager + function queryDeveloperPaymentAddress(uint64) external view virtual returns (address developerPaymentAddress) { + return payable(blueprintOwner); + } } diff --git a/src/IBlueprintServiceManager.sol b/src/IBlueprintServiceManager.sol index 88ae9e0..482ed16 100644 --- a/src/IBlueprintServiceManager.sol +++ b/src/IBlueprintServiceManager.sol @@ -177,4 +177,12 @@ interface IBlueprintServiceManager { /// @param serviceId The ID of the service. /// @return disputeOrigin The account that can dispute the unapplied slash for that service function queryDisputeOrigin(uint64 serviceId) external view returns (address disputeOrigin); + + /// @dev Query the developer payment address for a service. This mainly used by the runtime or the Master Blueprint Service + /// Manager + /// to determine the developer payment address for a service. + /// @notice This function should be implemented by the Blueprint Service Manager contract. + /// @param serviceId The ID of the service. + /// @return developerPaymentAddress The address of the developer payment address for that service + function queryDeveloperPaymentAddress(uint64 serviceId) external view returns (address developerPaymentAddress); }