async def METHOD_NAME(self, _request: Dict[str, object]) -> EndpointResult:
    request_address = str(_request["address"])
    guarantee_tx_block = bool(_request.get("guarantee_tx_block", False))
    blocks = int(str(_request.get("blocks", 1)))  # mypy made me do this
    ph = decode_puzzle_hash(request_address)
    req = FarmNewBlockProtocol(ph)
    cur_height = self.service.blockchain.get_peak_height()
    if guarantee_tx_block:
        for i in range(blocks):  # these can only be tx blocks
            await self.simulator_api.farm_new_transaction_block(req)
    else:
        for i in range(blocks):  # these can either be full blocks or tx blocks
            await self.simulator_api.farm_new_block(req)
    return {"new_peak_height": (cur_height if cur_height is not None else 0) + blocks}