<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def build_pool_config_request(submitter_did: str, writes: bool, force: bool) -> str: """ Builds a POOL_CONFIG request. Request to change Pool's configuration. :param submitter_did: DID of the submitter stored in secured Wallet. :param writes: Whether any write requests can be processed by the pool (if false, then pool goes to read-only state). True by default. :param force: Whether we should apply transaction (for example, move pool to read-only state) without waiting for consensus of this transaction :return: Request result as json. """


    logger = logging.getLogger(__name__)
    logger.debug("build_pool_config_request: >>> submitter_did: %r, writes: %r, force: %r",
                 submitter_did,
                 writes,
                 force)

    if not hasattr(build_pool_config_request, "cb"):
        logger.debug("build_pool_config_request: Creating callback")
        build_pool_config_request.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_char_p))

    c_submitter_did = c_char_p(submitter_did.encode('utf-8'))
    c_writes = c_bool(writes)
    c_force = c_bool(force)

    request_json = await do_call('indy_build_pool_config_request',
                                 c_submitter_did,
                                 c_writes,
                                 c_force,
                                 build_pool_config_request.cb)

    res = request_json.decode()
    logger.debug("build_pool_config_request: <<< res: %r", res)
    return res