interface ImplementationProvider {
  /**
   * @dev Abstract function to return the implementation address of a contract.
   * @param contractName Name of the contract.
   * @return Implementation address of the contract.
   */
  function getImplementation(string contractName) public view returns (address);
}
/**
 * @title ImplementationProvider
 * @dev Interface for providing implementation addresses for other contracts by name.
 */
function getImplementation(string contractName) public view returns (address);

/**
 * @dev Abstract function to return the implementation address of a contract.
 * @param contractName Name of the contract.
 * @return Implementation address of the contract.
 */